Odoo
Learn how to connect and configure Odoo for automated invoice generation.
Odoo is a comprehensive business management suite with integrated accounting functionality. This guide covers both connecting your Odoo instance and configuring it for optimal order processing.
Before You Start
Prerequisites
- Active Odoo instance
- Admin or accounting access to your Odoo instance
- Completed settings configuration
- Connected BrickLink and/or BrickOwl stores
What You'll Need
- Database Name - Your Odoo database name (e.g., "mycompany" for https://mycompany.odoo.com)
- Username - Your Odoo login username (email address)
- API Key - API key for secure authentication
Part 1: Connecting Odoo
Step 1: Generate API Key (Recommended)
- Log into your Odoo instance
- Go to Preferences (top right corner)
- Go to Account Security tab
- Generate a new API key
- Copy the API key for use in BrickInvoice
Step 2: Gather Connection Information
You'll need the following information from your Odoo instance:
- Database Name: Your Odoo database name (e.g., "mycompany" if your URL is https://mycompany.odoo.com)
- Username: Your Odoo username (email address)
- API Key: The API key you generated in Step 1
Step 3: Configure Connection
- Navigate to:
/home/accounting/connect
- Select "Odoo" from the package dropdown
- Fill in your connection details:
- Database Name: Your Odoo database name (e.g., "mycompany" if your URL is https://mycompany.odoo.com)
- Username (Email): Your Odoo username (email address)
- API Key: Your generated API key
- Click "Connect to Odoo" to verify the connection and save the configuration
Note: The system automatically constructs your Odoo URL as https://[database].odoo.com
based on the database name you provide.
Connection Status
- Connected: Green indicator shows successful connection
- Disconnected: Red indicator shows connection issues
Part 2: Configuring Odoo Settings
After successfully connecting Odoo, you'll need to configure how orders are processed and mapped to your accounting system.
General Ledger Account Mapping
Odoo uses a flexible chart of accounts system. You'll need to map different revenue types to appropriate accounts based on customer location:
Product Line Items:
- Standard product sales revenue
- Maps to general ledger accounts based on customer location:
- Domestic: Sales within your country
- EU: Sales to other EU countries (if you're in the EU)
- Other Countries: Sales outside the EU or your country
Margin Line Items:
- Additional margin on products (often subject to margin scheme)
- Maps to general ledger accounts based on customer location:
- Domestic: Margin sales within your country
- EU: Margin sales to other EU countries (if you're in the EU)
- Other Countries: Margin sales outside the EU or your country
Shipping Line Items:
- Shipping costs with appropriate VAT treatment
- Single general ledger account mapping for all shipping revenue
Handling Fees Line Items:
- Additional handling fees with appropriate VAT treatment
- Single general ledger account mapping for all handling fees
Tax (VAT) Configuration
BrickInvoice provides comprehensive tax mapping for Odoo integration, allowing you to configure specific VAT rates for different transaction types and customer locations.
Tax Settings Overview
BrickInvoice supports three tax categories that need to be configured in your Odoo settings:
- Normal Tax: Standard VAT rate used for regular products, shipping, and handling fees
- Margin Tax: Special tax rate for margin goods (typically 0% under margin scheme)
- Export Tax: Tax rate for export sales (typically 0% for non-EU sales)
Setting Up Tax Configuration
- Navigate to: Accounting Configuration after connecting Odoo
- Scroll to Tax Settings section
- Configure the three tax types:
Normal Tax (Tax for other Sales):
- Used for: Products, shipping, and handling fees for domestic and EU customers
- Configure your standard VAT rate (e.g., 21% for Netherlands, 19% for Germany)
- This applies to most line items for domestic and EU sales
Margin Tax (Tax for Margin Goods):
- Used for: Margin line items (typically under margin scheme)
- Usually set to 0% or special margin scheme tax
- Applied only to margin amounts on orders
Export Tax (Tax for Export Sales):
- Used for: All line items for customers outside the EU
- Typically set to 0% for export sales
- Applied to products, margin, shipping, and handling for non-EU customers
Automatic Tax Application
When processing orders, BrickInvoice automatically:
- Determines customer location from order data
- Compares with your business location
- Selects appropriate tax based on the logic:
- Same country = Uses Normal Tax for products/shipping/handling, Margin Tax for margin items
- Different EU country (if you're in EU) = Uses Normal Tax for products/shipping/handling, Margin Tax for margin items
- Non-EU country = Uses Export Tax for all line items
- Applies correct Odoo tax ID to each invoice line item based on line item type and customer location
Tax Rate Examples
Netherlands Business Example:
- Normal Tax: 21% BTW (applied to products, shipping, handling for NL and EU customers)
- Margin Tax: 0% (applied to margin items for all EU customers)
- Export Tax: 0% (applied to all items for non-EU customers like US, CA)
Germany Business Example:
- Normal Tax: 19% MwSt (applied to products, shipping, handling for DE and EU customers)
- Margin Tax: 0% (applied to margin items for all EU customers)
- Export Tax: 0% (applied to all items for non-EU customers)
Invoice Line Item Example
Netherlands business receiving order from German customer:
Order: €120 (products) + €10 (margin) + €5 (shipping) + €2 (handling) Odoo Invoice Line Items: 1. Products: €99.17 (ex-VAT) → Product Ledger (EU) → 21% Normal Tax 2. Margin: €10.00 (ex-VAT) → Margin Ledger (EU) → 0% Margin Tax 3. Shipping: €4.13 (ex-VAT) → Shipping Ledger → 21% Normal Tax 4. Handling: €1.65 (ex-VAT) → Handling Ledger → 21% Normal Tax Odoo calculates: €114.95 base + €21.05 VAT = €136.00 total
Same business receiving order from US customer:
All line items would use Export Tax (0%) instead of Normal Tax, resulting in no VAT being added in Odoo.
Customer Management
BrickInvoice automatically manages customers in your Odoo system:
- Customer Creation: New customers are automatically created based on order data
- Customer Updates: Existing customer information is updated when needed
- Customer Reference: BrickLink/BrickOwl usernames are used as customer references
- Address Information: Billing and shipping addresses are mapped from order data
Part 3: Invoice Features
Automatic Invoice Creation
When orders are synchronized:
- Customer Sync: Customer data is created or updated in Odoo
- Invoice Generation: Invoice is created with proper line item structure
- Invoice Posting (optional): Invoice is automatically posted/finalized in Odoo
- URL Generation: Direct link to view invoice in Odoo interface is provided
Invoice URLs
BrickInvoice automatically generates direct links to view invoices in your Odoo interface. These URLs follow the format:
https://[your-odoo-url]/odoo/customer-invoices/[invoice-id]
This allows you to quickly navigate to the invoice in Odoo for review or further processing.
Manual Synchronization
You can manually synchronize orders through the system, useful for:
- Orders that failed automatic synchronization
- Testing your Odoo configuration
- One-time synchronization of specific orders
Troubleshooting
Configuration Issues
"Ledger Accounts Not Loading"
- Check connection: Verify Odoo is still connected
- Refresh: Try refreshing the configuration page
"Invoice Creation Failed"
- Check account mapping: Verify all required ledger accounts are selected
- Permissions: Ensure user can create invoices and customers in the Odoo interface
"Tax Configuration Issues"
- Tax rates not loading: Verify Odoo connection and check if sales taxes exist in your Odoo instance
- Wrong tax applied: Check customer country and verify tax configuration matches your setup
- Missing tax on line items: Ensure Normal, Margin, and Export tax settings are all configured
- Tax calculation errors: Verify Odoo tax rates match your configured percentages
Best Practices
Common Tax Scenarios
Scenario 1: EU VAT Compliance
- Normal Tax: 21% (Netherlands) or 19% (Germany) for products, shipping, handling
- Margin Tax: 0% for margin scheme goods
- Export Tax: 0% for all items to non-EU customers
Scenario 2: Export-Only Business
- Normal Tax: Your domestic rate (for any local sales)
- Margin Tax: 0% or margin scheme rate
- Export Tax: 0% (most of your customers will use this)
Scenario 3: Mixed Business Model
- Normal Tax: Standard rate for regular products and services
- Margin Tax: Special rate for second-hand/margin goods
- Export Tax: 0% for international customers
- All three taxes properly configured for complete coverage
Next Steps
After configuring Odoo:
- Test integration - Process a few orders to verify everything works
- Verify invoices - Check that invoices are created correctly in Odoo
- Review reports - Ensure financial data appears correctly in your reports
- Set up automation - Enable uaccounting schedele for automatic processing
Support
If you encounter issues with the Odoo integration:
- Check the connection status in BrickInvoice
- Review error messages in the sync history
- Verify your Odoo configuration and permissions
- Contact support with specific error details if needed