Overview
Overview of accounting integration.
Accounting Integration
The accounting integration ensures that your orders from online stores are automatically synchronized with your accounting software. This saves time and prevents errors from manual data entry.
Table of Contents
- How does it work?
- When Orders Are Booked
- Manual Synchronization
- Excluding Orders from Sync
- Platform Differentiation (BrickLink vs Brick Owl)
- Error Handling
- Supported Features by Integration
- Trial Users
How does it work?
The integration works in multiple steps:
1. Customer Data Synchronization
First, customer data from your order is sent to the accounting software. If the customer doesn't exist yet, they are automatically created. Existing customers are updated if necessary. BrickInvoice uses the BrickLink/Brick Owl username as reference for each of your customers. Based on the reference, BrickInvoice knows if it's an existing or new customer.
Update Existing Contacts toggle: Under Contact Sync Options in your accounting configuration, you can control whether existing contacts are updated during synchronization:
- Enabled (default): existing contacts are updated every time an order is synced.
- Disabled: existing contacts are never updated. For integrations that support change detection (currently Lexware), you will receive an in-app warning notification if the contact data in your store differs from what is already stored in the accounting software.
2. Invoice Creation
Next, an invoice is created in your accounting software. The invoice is structured with separate line items for optimal clarity:
- Margin Goods Line Item: Products subject to margin scheme (if applicable)
- VAT Goods Line Item: Products with standard VAT (if applicable)
- Handling fees Line Item: Handling fees with standard VAT (if applicable)
- Shipping Line Item: Shipping costs with appropriate VAT (if applicable)
- Customer information and proper VAT calculations based on your settings
General Ledger Account Mapping: Each Margin/VAT goods line item can be mapped to different general ledger accounts based on the transaction type:
- Domestic Sales: For sales within your country
- EU Sales: For sales to other EU countries (only visible for EU-based sellers)
- Export Sales: For sales outside the EU/your country
You can use the same ledger for different line items. This location-based account mapping ensures your revenue goes into the right categories and makes your accounting simpler. If you need to set up revenue distribution differently, please get in touch with us.
3. Payment Registration (Optional)
For supported accounting integrations, BrickInvoice can automatically register payments against invoices when the order is synced:
Supported Payment Methods:
- Stripe: Automatically registers Stripe payments
- PayPal: Automatically registers PayPal payments
Configuration:
- Enable payment registration per payment method (Stripe/PayPal)
- Configure financial accounts per marketplace (BrickLink/BrickOwl)
- Payments are linked to invoices with clear references:
Payment {source}_{order_number}
Note: Other payment methods (bank transfer, cash, etc.) are not automatically registered and need to be marked as paid manually in your accounting software. The exception is bank transfers you collect through Stripe, see below.
Bank Transfer and IBAN Orders Paid via Stripe
Some buyers choose Bank Transfer or IBAN at checkout, and you then send them a payment link of your own, for example an iDEAL link from your Stripe account. The money lands on Stripe, but the marketplace still lists the order as a bank transfer, so BrickInvoice would leave the invoice open.
If you collect these payments through Stripe, you can have BrickInvoice treat them as Stripe payments. In your accounting configuration, under the Stripe payment registration settings, tick per marketplace (BrickLink and Brick Owl separately):
- Bank Transfer orders
- IBAN orders
For every order with a ticked payment method, BrickInvoice then:
- registers the payment on the Stripe account you chose for that marketplace
- books the Stripe fee, if Stripe fee sync is on and your Stripe account is connected under Connections → Stripe (in Dinero the fee is deducted from the payment instead)
Every order with that payment method is treated this way. BrickInvoice does not check Stripe first, because a payment can take a few days to show up there. If some buyers still pay you with a regular bank transfer, leave the box unticked and register those payments yourself.
How the Stripe fee is found: a payment from your own link carries no order number or buyer name, so BrickInvoice looks in your Stripe account for a successful payment of the same amount:
- on BrickLink, within a day of the payment date BrickLink records
- otherwise, and always on Brick Owl, within 7 days after the order date
When more than one payment matches, the one closest to that date is used. A payment that is already linked to another order is skipped, and so is a payment made through BrickLink's own Stripe checkout. If no payment is found yet, BrickInvoice tries again over the next three days and notifies you if it still cannot find one.
Available for Dinero, e-Boekhouden, Fatture in Cloud, Jortt, Minox and Moneybird. The checkboxes appear once Stripe payment registration is on.
4. PayPal Fee Sync (Optional)
When enabled, BrickInvoice automatically registers PayPal transaction fees as expenses in your accounting software:
Configuration:
- Enable PayPal fee sync in your accounting configuration
- Connect your PayPal account
- Configure financial and expense ledger accounts per marketplace
- Fees are automatically registered with reference:
PayPal fee {source}_{order_number}
Benefits:
- Accurate fee tracking per marketplace
- Automatic expense categorization
- No manual fee entry required
- Proper financial reconciliation
5. Stripe Fee Sync (Optional)
When enabled, BrickInvoice automatically registers Stripe transaction fees as expenses in your accounting software:
Important: This requires connecting your own Stripe account using a Restricted Key — not the BrickLink or Brick Owl marketplace Stripe environment. BrickLink and Brick Owl use Stripe's marketplace/connect platform where they act as the merchant of record. You need to create a separate Stripe Restricted Key from your own Stripe dashboard.
Configuration:
- Connect your Stripe account via Connections → Stripe in the navigation
- Enable Stripe fee sync in your accounting configuration
- Configure financial and expense ledger accounts per marketplace (BrickLink/BrickOwl)
- Fees are automatically registered with reference:
Stripe fee {source}_{order_number}
Benefits:
- Accurate Stripe fee tracking per marketplace
- Automatic expense categorization
- No manual fee entry required
- Proper financial reconciliation
6. Invoice Total Verification (select integrations)
After an invoice is created, some integrations automatically verify that the invoice total in the accounting software matches the order total in BrickInvoice. If a mismatch is detected — for example due to VAT rounding differences — you'll receive an in-app warning notification. This gives you the opportunity to review and correct the invoice before it is finalized or booked.
7. Status Update
After successful synchronization, the order is marked as "processed" and invoice details (such as invoice number and status) are stored for future reference.
When Orders Are Booked
By default an order goes to your accounting software as soon as it is paid. If you only want to book orders once they leave the door, for example because a paid order is sometimes cancelled before you ship it, you can choose a later status.
Go to Settings → Order Sync and, under When orders go to your accounting, choose:
- Paid (default): an order is booked as soon as it is paid
- Packed: an order is booked once it is packed (BrickLink: Packed, Brick Owl: Processed) or later
- Shipped: an order is booked once it is shipped or later
"Or later" matters: with Packed, an order you set from paid straight to shipped is still booked.
Good to know:
- The status is read from BrickLink and Brick Owl. An order you never set to packed or shipped there is never booked. If you mark it packed or shipped in BrickInvoice, it is booked after the next order sync, once the status has reached the platform and come back.
- A paid order that is cancelled before it reaches your chosen status is never booked. An order that was already booked stays booked.
- Changing the setting only affects orders that are not booked yet. Switching back to Paid books the waiting orders on the next run.
- The invoice keeps the order date. With Shipped, an order from 30 September that ships on 2 October is booked in October, but with a September date.
- Manual synchronization follows the same setting: syncing an order that has not reached your chosen status tells you so and books nothing.
- Your cutoff date, trial and reports work as before: they still count every paid order.
Manual Synchronization
You can also manually synchronize orders through the system. This is useful for:
- Orders that failed automatically
- Testing your configuration
- One-time synchronization of specific orders
When you re-sync an order, BrickInvoice will recalculate the VAT and margin scheme for that order using your current configuration, without changing the original order data from BrickLink/Brick Owl.
Excluding Orders from Sync
Sometimes you may want to prevent specific orders from being synchronized to your accounting software. This is useful for:
- Cancelled orders: Orders that were placed but immediately cancelled
- Problematic orders: Orders with data issues that need manual handling
How to Exclude an Order
- Go to your Orders page
- Find the order you want to exclude
- Click the Actions menu (⚙️) for that order
- Select "Exclude from Sync"
The order will be visually marked (dimmed/greyed out) in the orders table to indicate it's excluded.
What Happens to Excluded Orders?
- Automatic sync: Excluded orders are skipped during scheduled synchronization
- Manual sync: You can still manually sync an excluded order if needed, but you'll receive a confirmation warning first
- Already processed orders: If you exclude an order that was already synced, the invoice remains in your accounting system and won't be automatically deleted
Re-including an Order
If you want to sync an excluded order later:
- Click the Actions menu (⚙️) for the excluded order
- Select "Include in Sync"
- The order will be available for synchronization again
Platform Differentiation (BrickLink vs Brick Owl)
By default, BrickInvoice uses a single set of ledger accounts for all your orders, regardless of whether they come from BrickLink or Brick Owl. However, some sellers need to separate their revenue by marketplace — for example, to track income per platform or to comply with specific accounting requirements.
How to Enable
- Go to your Accounting Configuration page
- In the General Settings section, check "Differentiate BrickLink and Brick Owl"
- Save your settings
What Changes
When platform differentiation is enabled, each ledger account / article / product field in your configuration is replaced by two separate fields:
- BrickLink: Used for orders originating from BrickLink
- Brick Owl: Used for orders originating from Brick Owl
This applies to all line item types (products, margin goods, shipping, handling fees) and all regional variants (domestic, EU, export).
Fallback Behavior
If you enable differentiation but leave a platform-specific field empty, BrickInvoice will automatically fall back to the unified (default) value. This means you can gradually configure platform-specific accounts without breaking existing synchronization.
Supported Integrations
Platform differentiation is available for all accounting integrations.
Error Handling
If something goes wrong during synchronization, you'll receive a notification with the reason for the error. Common causes include:
- Incorrect API settings
- Missing products in the accounting software
- Network issues
Supported Features by Integration
Not all accounting integrations support all features. For a complete feature comparison of all integrations, see the Feature Comparison page.
Trial Users
Trial users can synchronize up to 25 orders. After reaching this limit, an upgrade to a paid subscription is required to continue synchronizing.