Dinero

Learn how to connect and configure Dinero for automated invoice generation.

Dinero is a popular Danish cloud-based accounting software. This guide covers both connecting your Dinero account and configuring it for optimal order processing and financial management.

Table of Contents

Before You Start

Prerequisites

What You'll Need

  • Dinero Pro Account - API access is only available for Pro subscribers

Connecting Dinero

Step 1: Connect via OAuth

Dinero uses secure OAuth 2.0 authentication via Visma Connect. This means you don't need to manually create API tokens.

  1. Navigate to: /home/accounting/connect
  2. Select "Dinero" from the package dropdown
  3. Click "Connect to Dinero" to start the OAuth flow
  4. Log into your Dinero account when prompted by Visma Connect
  5. Authorize BrickInvoice to access your Dinero account
  6. You'll be redirected back to BrickInvoice after successful authorization

Step 2: Select Organization

After connecting, you'll need to select your Dinero organization:

  1. Navigate to: /home/accounting/config
  2. Select your organization from the dropdown
  3. Only organizations with Pro subscription are shown (API requires Pro)

Security Note

Your OAuth tokens are:

  • Encrypted before storage in the BrickInvoice database
  • Never shared with third parties
  • Automatically refreshed when they expire
  • Revocable from your Dinero account settings

Configuring Dinero Settings

After successfully connecting Dinero, you'll need to configure how orders are processed and mapped to your accounting system.

General Settings

Organization:

  • Select your Dinero organization (Pro subscription required)
  • All subsequent API calls use this organization

Invoice Template:

  • Optional selection of invoice template for styling
  • Choose from templates configured in your Dinero account
  • Templates with "(Default)" are marked as the default in Dinero

Make Invoice Final:

  • Choose whether invoices should be automatically booked after creation
  • No: Invoices remain in draft status (editable in Dinero)
  • Yes: Invoices are automatically booked and receive official invoice numbers

Description Text:

  • Optional description text displayed on invoices
  • Placeholders: You can use the following placeholders for dynamic content:
    • {order_number} - Order number with source prefix (e.g., "BL 123456" or "BO 789012")
    • {payment_method} - Payment method used (e.g., "PayPal" or "Stripe")
    • Example: "Order {order_number} - {payment_method}" becomes "Order BL 123456 - PayPal"

Comment Text:

  • Optional comment/remarks text displayed on invoices
  • Placeholders: Supports the same placeholders as Description Text above

Invoice Line Item Structure

Each order creates an invoice with separate line items for different product types and customer locations. Dinero uses Products for line items, which you'll need to create in Dinero first.

Product Line Items (Standard Products)

  • LEGO parts and sets subject to standard VAT rates
  • Separate Products based on customer location:
    • Domestic: Sales within Denmark
    • EU: Sales to other EU countries
    • Export/Other: International sales outside the EU
  • Each Product needs appropriate tax code based on Danish/EU tax rules

Margin Scheme Line Items (Second-hand Goods)

  • Products subject to margin scheme (special VAT treatment for used goods)
  • Separate Products based on customer location:
    • Domestic: Margin scheme sales within Denmark
    • EU: Margin scheme sales to other EU countries
    • Export/Other: Margin scheme sales outside the EU
  • Tax codes typically set to 0% under margin scheme

Shipping Line Items

  • Shipping and delivery costs
  • Separate Products for VAT and no-VAT scenarios
  • Set appropriate tax code based on customer location

Handling Fees Line Items

  • Processing and handling costs
  • Separate Products for VAT and no-VAT scenarios
  • Set appropriate tax code based on customer location

Products Mapping

For each line item type and region, you'll map a Dinero Product:

Product Sales:

  • Domestic Product - For customers in Denmark (e.g., "LEGO Parts - Denmark 25%")
  • EU Product - For other EU customers (e.g., "LEGO Parts - EU 25%")
  • Export Product - For non-EU customers (e.g., "LEGO Parts - Export 0%")
  • B2B Product (optional) - For B2B orders with reverse charge (e.g., "LEGO Parts - B2B 0%"). Only visible when B2B VAT Exempt is enabled in Order Sync settings.

Margin Scheme Sales:

  • Domestic Margin - For customers in Denmark (e.g., "Margin Scheme - Domestic")
  • EU Margin - For other EU customers (e.g., "Margin Scheme - EU")
  • Export Margin - For non-EU customers (e.g., "Margin Scheme - Export")
  • B2B Margin (optional) - For B2B margin scheme orders with reverse charge. Only visible when B2B VAT Exempt is enabled.

Other Items:

  • Shipping Product (VAT) - For shipping with VAT (e.g., "Forsendelse 25%")
  • Shipping Product (No VAT) - For shipping without VAT (e.g., "Forsendelse 0%")
  • Shipping Product (B2B) (optional) - For B2B shipping with reverse charge. Only visible when B2B VAT Exempt is enabled.
  • Handling Fees Product (VAT) - For fees with VAT (e.g., "Ekspeditionsgebyr 25%")
  • Handling Fees Product (No VAT) - For fees without VAT (e.g., "Ekspeditionsgebyr 0%")
  • Handling Fees Product (B2B) (optional) - For B2B handling fees with reverse charge. Only visible when B2B VAT Exempt is enabled.

If you don't want to separate domestic and EU sales, you can choose the same Product for both.

B2B Products: When an order is detected as B2B exempt, BrickInvoice uses the configured B2B Product for that line item instead of the regular domestic/EU/export product. The B2B Product should have a 0% tax code in Dinero to reflect the reverse charge treatment.

Configuration Tips

1. Create Products in Dinero First

  • Go to Dinero → Products menu
  • Create Products for each category and region
  • Set appropriate tax codes (VAT rates) for each Product
  • Use clear, descriptive names

2. Use Consistent Naming

  • Example: "LEGO Parts - Domestic 25%", "Forsendelse"
  • Makes it easier to identify Products in BrickInvoice configuration
  • Helps with bookkeeping and reporting

3. Review Tax Settings

  • Ensure Products have correct tax codes for Danish tax regulations
  • Standard rate: 25% for regular products, shipping, and handling
  • Margin scheme: 0% for second-hand goods under margin scheme
  • Export: 0% for sales outside the EU

Invoice Features

Automatic Invoice Creation

When orders are synchronized:

  1. Customer Sync: Customer data (contact) is created or updated in Dinero
  2. Invoice Generation: Invoice is created with proper line item structure
  3. Invoice Booking (optional): Invoice can be automatically booked in Dinero

Draft vs Booked Invoices

Dinero supports both draft and booked invoice creation:

Draft Invoices (Default):

  • Invoices are created in draft status
  • Can be modified in Dinero before booking
  • No invoice number assigned until booked

Booked Invoices (Optional):

  • Enable "Make Invoice Final" in settings to automatically book invoices
  • Invoices are immediately assigned an official invoice number
  • Cannot be modified after booking

Invoice Amounts Display

Invoices in Dinero display amounts using the gross price method (prices including VAT). Line items show the gross amounts (with VAT included). This is the standard display format and ensures the final invoice totals match your order amounts exactly.

Customer Management

BrickInvoice automatically manages customers (contacts) in your Dinero system:

  • Customer Creation: New contacts are automatically created based on order data
  • Customer Updates: Existing contact information is updated when needed
  • Customer Search: System searches by external reference (BL_username or BO_username)
  • Address Management: Billing addresses are created with proper country codes

Invoice URLs

BrickInvoice automatically generates direct links to view invoices in your Dinero interface. These URLs allow you to quickly navigate to the invoice in Dinero for review or further processing.

Payment Registration

Dinero supports automatic payment registration for Stripe and PayPal orders. When enabled, payments are registered directly on booked invoices with the correct deposit account.

Prerequisites

  • Book Invoice must be enabled - Dinero only allows payment registration on booked invoices. When you enable payment sync, the "Book Invoice" setting is automatically turned on and cannot be disabled.
  • Deposit accounts configured in Dinero - You need at least one deposit account set up in your Dinero system.
  • PayPal connected (optional) - If you want automatic PayPal fee deduction, connect your PayPal account under Service Connections.

Configuration

  1. Navigate to: /home/accounting/config
  2. Enable Payment Sync in the Payment Registration section
  3. Configure a description template (optional):
    • {order_id} - The order number
    • {invoice_number} - The Dinero invoice number
    • {source} - The marketplace (bricklink/brickowl)
    • {payment_method} - The payment method used
    • Example: Payment {source}_{order_id} becomes Payment bricklink_12345678
  4. Enable Stripe and/or PayPal and select deposit accounts per marketplace (BrickLink/BrickOwl)

PayPal Fee Handling

Dinero handles PayPal fees differently from other accounting integrations. Instead of creating a separate expense for the fee, Dinero uses a built-in mechanism called RemainderIsFee:

  • When enabled, the payment amount is registered minus the PayPal fee
  • Dinero automatically books the difference (the fee) as an expense
  • This keeps your bookkeeping clean with a single transaction

Example: Invoice total = 150 DKK, PayPal fee = 20 DKK → Payment of 130 DKK is registered, and Dinero books the 20 DKK remainder as a fee automatically.

To enable this:

  1. Enable the PayPal payment method in payment sync settings
  2. Check "Include PayPal fees"
  3. Ensure your PayPal account is connected under Service Connections

If the PayPal fee cannot be determined (e.g., transaction not found or PayPal not connected), the payment registration is skipped entirely. You will receive an in-app notification so you can register the payment manually in Dinero.

Deposit Accounts

For each payment method (Stripe/PayPal), you configure separate deposit accounts per marketplace:

  • BrickLink deposit account - The Dinero deposit account for BrickLink payments
  • BrickOwl deposit account - The Dinero deposit account for BrickOwl payments

Deposit accounts are loaded from your Dinero organization and represent the bank or payment accounts where funds are received.

Troubleshooting

Connection Issues

"Failed to Connect to Dinero"

  • OAuth expired: Try reconnecting via the OAuth flow
  • Account suspended: Verify your Dinero subscription is active
  • Network issues: Verify your internet connection and Dinero service status

"No Pro Organization Found"

  • Pro required: Dinero API access requires a Pro subscription
  • Upgrade needed: Upgrade your Dinero account to Pro to use the integration
  • Wrong account: Ensure you're logging into the correct Dinero account

"Authentication Failed"

  • Token expired: The system should auto-refresh tokens, but try reconnecting if issues persist
  • Revoked access: Check if you revoked BrickInvoice access in Dinero settings
  • Account changes: Verify your Dinero account is still active

Configuration Issues

"Products Not Loading"

  • Check connection: Verify Dinero is still connected
  • Organization: Ensure an organization is selected
  • Empty products: Check that you have created Products in Dinero
  • Refresh: Try refreshing the configuration page

"Invoice Creation Failed"

  • Missing Products: Verify all required Products are configured
  • Invalid tax: Selected Product may have invalid or expired tax code
  • Product settings: Verify Products have correct tax codes in Dinero
  • Customer data: Ensure order has complete customer information

Payment Issues

"Payment Registration Failed"

  • Invoice not booked: Ensure "Book Invoice" is enabled — payments can only be registered on booked invoices
  • Missing deposit account: Verify deposit accounts are configured for the payment method and marketplace
  • Currency mismatch: The payment currency should match your Dinero organization currency for fee deduction (RemainderIsFee)

"PayPal Fee Not Found"

When the PayPal fee cannot be determined, the payment registration is skipped and you will receive a notification. You can then register the payment manually in Dinero. Common causes:

  • PayPal not connected: Ensure your PayPal account is connected under Service Connections
  • Transaction not found: The PayPal transaction may not yet be available in the API (slight delay possible)
  • Amount mismatch: The system searches for a PayPal transaction matching the order date and amount

Disconnecting Dinero

To disconnect Dinero:

  1. Navigate to: /home/accounting/connect
  2. Click "Disconnect" button
  3. Confirm the disconnection
  4. OAuth tokens are removed from BrickInvoice

Note: Existing invoices in Dinero are not affected by disconnecting. You can reconnect at any time by going through the OAuth flow again.

Best Practices

VAT Configuration for Danish Businesses

Standard Setup:

  • Domestic (Denmark): 25% standard VAT rate (moms)
  • EU Sales: 25% standard VAT rate
  • Export Sales: 0% (no VAT for non-EU sales)
  • Margin Scheme: 0% (special treatment for second-hand goods)

Products Organization

Recommended Products Structure:

Products in Dinero:
├── LEGO Parts - Domestic (25% VAT)
├── LEGO Parts - EU (25% VAT)
├── LEGO Parts - Export (0% VAT)
├── Margin - Domestic (0% Margin)
├── Margin - EU (0% Margin)
├── Margin - Export (0% Margin)
├── Forsendelse med moms (25% VAT)
├── Forsendelse uden moms (0% VAT)
├── Ekspeditionsgebyr med moms (25% VAT)
└── Ekspeditionsgebyr uden moms (0% VAT)

Invoice Management

Draft vs Booked Invoices:

  • Use draft invoices when you need to review before finalizing
  • Enable auto-booking for streamlined processing
  • Booked invoices cannot be modified and receive official invoice numbers
  • Note: Payment registration requires booked invoices

Payment Registration

  • Use separate deposit accounts per marketplace for clear financial reporting
  • Enable "Include PayPal fees" to let Dinero automatically handle fee booking
  • The description template helps identify payments in your Dinero dashboard

Next Steps

After configuring Dinero:

  1. Test integration - Process a few orders as draft invoices
  2. Verify invoices - Check that invoices are created correctly in Dinero
  3. Review tax treatment - Ensure tax codes are applied correctly based on customer location
  4. Enable payment sync - Configure automatic payment registration for Stripe/PayPal
  5. Set up automation - Configure automated invoice generation schedules

Support

If you encounter issues with the Dinero integration, please use the contact form to reach out to us.