Australia

# Australia

## Modules

Australia - Accounting
`l10n_au`
The base accounting module for the Australian localization. It
is installed automatically when the Australia fiscal localization package is selected. This module also installs the ABA Credit
Transfer module.
Australian Reports - Accounting
`l10n_au_reports`
Adds the Taxable Payments Annual Report (TPAR) and the Business
Activity Statement (BAS) report. It is installed automatically when the Australia fiscal localization package is
selected.
`l10n_au_hr_payroll`
The base payroll module for the Australian localization.
Australia - Payroll with Accounting
l10n_au_hr_payroll_account
`l10n_au_hr_payroll_account`
Contains the necessary accounting data for the Australian payroll rules. It is installed
automatically when the Payroll Entries option is enabled.
Employment Hero Payroll
`l10n_employment_hero`
Synchronizes all pay runs from Employment Hero with Odooâs journal entries.
It is not possible for users of the Australian fiscal localization to deactivate two-factor
authentication (2FA) as it is required by the Australian government.

## Accounting

### Taxes and GST

In Australia, the standard Goods and Services Tax (GST) rate is 10%, but different rates and
exemptions exist for specific categories of goods and services.
The taxes impact the BAS report .

#### Tax mapping

Within the Australian localization, tax names encompass the tax rate as an integral part of their
naming convention. Despite the high number of taxes configured in Odoo,
their rates are often similar (0% or 10%).
The GST sales taxes available in Odoo are listed below.
GST Free on Export Sales
This is for adjustment, amounts can be modified to fit your needs
Tax Adjustments (Sales)
The GST purchase taxes available in Odoo are listed below.
10% Capital Purchases
Purchases for Input Taxed Sales
10% Purchases for Input Taxed Sales
Purchases for private use or not deductible
10% Purchases for Private Use
Purchase (Taxable Imports) - Tax Paid Separately
0% GST Paid Separately
Tax Adjustments (Purchases)
Tax Adjustments (Purchases)
Deferred GST Liability
Tax Withheld for Partners without ABN
Withholding Tax for No ABN
Other amounts withheld (excluding any amount shown at W2 or W4)
Other Amounts Withheld (W3)
Businesses from certain industries need to report payments made to subcontractors from relevant
services during the financial year. Odoo combines the use of taxes and fiscal positions to report
these payments on the TPAR . In order to be compliant with the TPARâs
obligations, two variants of the main purchase taxes are available in Odoo, but they are inactive by
default.
For the 10% GST tax, the variants are:
TPAR variant of the tax, if the contractor provided an ABN
TPAR variant of the tax, if the contractor did not provide an ABN

#### Deferred GST

Odoo allows companies under the Deferred Goods and Services Tax (DGST) scheme to automate their deferred GST flows.
It is recommended to:
- go to Accounting â£ Configuration â£ Settings and set the Tax Return
Periodicity to monthly (= monthly BAS); and
go to Accounting â£ Configuration â£ Settings and set the Tax Return
Periodicity to monthly (= monthly BAS); and
- create a new journal to store all deferred GST entries by going to Accounting
â£ Configuration â£ Journals â£ New , and selecting Miscellaneous as its Type when configuring it.
create a new journal to store all deferred GST entries by going to Accounting
â£ Configuration â£ Journals â£ New , and selecting Miscellaneous as its Type when configuring it.
By default, a tax ( 100% DGST , inactive by default) and an account ( 21340 Deferred GST Liability )
are available for Australian companies. Activate the tax by going to Accounting â£
Configuration â£ Taxes . Search for the Name 100% DGST (remove the default filter if
necessary), and click the Activate toggle switch.
`100%DGST`
When importing goods from abroad, the GST liability can now be deferred for companies under the DGST
scheme. On the purchase order, select the 0% TPS tax (tax paid separately) for the
relevant order lines.
When the Australian Taxation Office (ATO) is advised electronically of the aggregated liability for
the company by the Integrated Cargo System (ICS), the GST balance deferred during the previous month
becomes available on the ATOâs BAS portal.
Odoo does not yet fetch the DGST balance automatically from the ATO. A manual entry with the
liability amount needs to be created in Odoo. We recommend using a new journal for this purpose
since deferrals will be recurring.
Go to Accounting â£ Journal Entries â£ New . On the first journal item line, add
the Account 21340 Deferred GST Liability and the deferred GST balance as a Credit . To resume the example shown above, we credit $2,000 and save.
`21340DeferredGSTLiability`
An auto-balancing line is created, along with journal items correctly assigning the right values in
the BAS Tax Grids . Sections G11 , G18 , 7A , and ONLY are updated correctly.
After posting the journal entry, the BAS report displays the correct values for each section, along
with the DGST offset.

### Reports

#### Business Activity Statement (BAS)

The BAS report is a critical tax reporting requirement for businesses registered for GST in
Australia. The BAS is used to report and remit various taxes to the ATO. With the Odoo BAS feature,
businesses can report on the following:
- PAYG tax withheld
Access the report from the Accounting dashboard by clicking BAS Report (AU) under the Miscellaneous Operations section.
The base and tax amounts are collected from the tax grid , which is pre-configured in the system.
The tax grid can also be manually set up for any additional special use-case of GST (e.g., wine
equalization tax). Once the tax for each account is set up, the system automatically slots journal
items into the correct tax category. This ensures the BAS report is accurate and reflective of the
businessâs financial activities.
Besides the GST sections, the BAS report also includes the PAYG tax withheld components ( W1 to W5 , then summary, section 4 ). This integration ensures that all payroll-related withholding
taxes are accurately captured and reflected within the report.
The module incorporates built-in rules that facilitate the automatic calculation of taxes for types
W1 to W5. For a detailed walkthrough and more information on the calculation process for these
taxes, refer to the Payroll section .
When it is time to file the tax return with the ATO, click Closing Entry . The tax return
period can be configured under Accounting â£ Configuration â£ Settings â£ Tax
Return Periodicity . The start date of the tax return period can also be defined on the report
itself through the period button ( period year ).
Odoo uses calendar quarters rather than the Australian FY quarters, which means July to
September is Q3 in Odoo.
Before closing the entry for the first time, the default GST payable account and GST
receivable account need to be set. A notification pops up and redirects the user to the tax groups
configuration.
Once the GST payable and GST receivable accounts are set up, the BAS report generates an accurate
journal closing entry automatically, which balances out the GST balance with the GST clearing
account.
The balance between GST receivable and payable is set against the tax clearing account defined on
the tax group. The amount to be paid to or received from the ATO can be reconciled against a bank
statement.
The BAS report is not directly submitted to the ATO. Odoo helps you automatically compute the
necessary values in each section, with the possibility to audit them to better understand the
history behind these numbers. Businesses can copy these values and enter them on the ATO portal .

#### Taxable Payments Annual Report (TPAR)

Odoo allows businesses to report payments made to contractors or subcontractors during the financial
year. This is done by generating a TPAR . If you are unsure your business needs this report,
refer to the ATOâs TPAR web page .
Access the TPAR in Odoo by going to Accounting â£ Reporting â£ Taxable Payments
Annual Reports (TPAR) .
First, it is required to assign fiscal positions to your contractors before billing them to update
the TPAR. To do so, go to Accounting â£ Vendors â£ Vendors , select a contractor,
and set a Fiscal Position under the Sales & Purchase tab.
Based on the chosen fiscal position, the correct tax mapping will apply to the contractorâs vendor
bills.
The TPAR includes the following information from contractors:
- Total GST (the total tax paid)
Total GST (the total tax paid)
- Gross Paid (the amounts are displayed after a vendor bill has been marked as paid)
Gross Paid (the amounts are displayed after a vendor bill has been marked as paid)
- Tax Withheld (displayed if the contractor is registered with a fiscal position set to TPAR without ABN )
Tax Withheld (displayed if the contractor is registered with a fiscal position set to TPAR without ABN )
The TPAR can be exported to multiple formats: PDF, XLSX, and TPAR.

### Remittance advice

A remittance advice is a document used as proof of payment to a business. In Odoo, it can be
accessed by going to Accounting â£ Vendors â£ Payments , selecting the payment(s),
and clicking Print â£ Payment Receipt .

### E-invoicing

#### Peppol

Odoo is compliant with Australiaâs Peppol requirements . Set up your customers and vendors
by going to Accounting â£ Customers â£ Customers or Vendors â£
Vendors , selecting one, clicking the Accounting tab, and configuring the Electronic Invoicing section as needed.
Validating an invoice or credit note for a partner on the Peppol network will download a
compliant XML file that can be manually uploaded to your Peppol network. Odoo is currently in the
process of becoming an access point for the ANZ region.

### ABA files for batch payments

An ABA file is a digital format developed by the Australian Banking Association . It is designed for business customers to facilitate bulk payment
processing by uploading a single file from their business management software.
The main advantage of using ABA files is to improve payment and matching efficiency. This is
achieved by consolidating numerous payments into one file for batch processing, which can be
submitted to all Australian banks.

#### Configuration

Go to Accounting â£ Configuration â£ Settings and enable Batch
Payments .
Go to Accounting â£ Configuration â£ Journals and select the Bank journal. Enter the Account Number , click Create and editâ¦ , and fill in the
following fields:
- Account Holder
Then, toggle on the Send Money switch and click Save & Close .
Using the Currency field is optional.
Back on the Journal Entries tab, fill in the following fields under the ABA section:
- BSB : the BSB code from the bank account is used to fill in this field.
BSB : the BSB code from the bank account is used to fill in this field.
- Financial Institution Code : the official 3-letter abbreviation of the bank (e.g., WBC for Westpac)
Financial Institution Code : the official 3-letter abbreviation of the bank (e.g., WBC for Westpac)
`WBC`
- Supplying User Name : 6-digit number provided by the bank. Contact your bank or check
its website if you do not know it.
Supplying User Name : 6-digit number provided by the bank. Contact your bank or check
its website if you do not know it.
- APCA Identification Number : 6-digit number provided by the bank. Contact your bank or
check its website if you do not know it.
APCA Identification Number : 6-digit number provided by the bank. Contact your bank or
check its website if you do not know it.
- Include Self Balancing Transaction : selecting this option adds an additional âself-balancingâ transaction to the end of the ABA file, which is required by some banks.
âself-balancingâ transaction to the end of the ABA file, which is required by some banks.
Go to Accounting â£ Customers â£ Customers or Accounting â£
Vendors â£ Vendors and select a customer or vendor. Open the Accounting tab, and,
under the Bank Accounts section, click Add a line to fill in their:
- Account Number
- Account Holder
Then, toggle on the Send Money switch and click Save & Close .

#### Generating an ABA file

To generate an ABA file, create a vendor bill, confirm it, and ensure the vendorâs banking
information is set up correctly.
Next, click Pay on the vendor bill, and select, for the following fields:
- Journal : Bank
- Payment Method : ABA Credit Transfer
Payment Method : ABA Credit Transfer
- Recipient Bank Account : the vendorâs account number
Recipient Bank Account : the vendorâs account number
Once payments are created, go to Accounting â£ Vendors â£ Payments , select the
payments to be included in the batch, and click Create Batch . Verify all information is
correct and click Validate . Once validated, the ABA file is available in the chatter on the right.
After uploading the file to your bankâs portal, an ABA transaction line will appear in your bank
feed at the following bank feed iteration. You will need to reconcile it against the batch
payment made in Odoo.

## Industry-specific features

### Starshipit shipping

Starshipit is a shipping service operator that facilitates the integration of Australasian shipping
couriers with Odoo. Refer to the Starshipit documentation for
detailed information.
Starshipit Odoo webinar recording

### Buy Now, Pay Later solutions

Buy Now, Pay Later solutions are popular payment methods for eShops in Australia. Some of these
solutions are available via Stripe and AsiaPay .
- Stripe payment provider
Stripe payment provider
- AsiaPay payment provider
AsiaPay payment provider

### POS terminals

To establish a direct connection between Odoo and a POS terminal in Australia, a Stripe payment
terminal is required. Odoo supports the EFTPOS payment solution in Australia.
A Stripe payment terminal is not required to use Odoo as the main POS system. However, without
one, cashiers must manually enter the final payment amount on the terminal.
- Stripe payment provider
Stripe payment provider
- Stripe payment terminal
Stripe payment terminal
- Stripe.com terminal documentation
Stripe.com terminal documentation

Modules
Accounting
Taxes and GST
Reports
Remittance advice
E-invoicing
ABA files for batch payments
Industry-specific features
Starshipit shipping
Buy Now, Pay Later solutions
POS terminals


Austria

# Austria

## Configuration

Install the following modules to get all the features of the Austrian
localization.
`l10n_at`
Default fiscal localization package .
Austria - Accounting Reports
`l10n_at_reports`
Adds localized versions of financial reports
Austrian SAF-T Export
`l10n_at_saft`
Adds the SAF-T export.
Documentation on e-invoicingâs legality and compliance in Austria

## Financial reports

The following localized reports are available:
- Balance sheet according to Â§ 224 UGB
Balance sheet according to Â§ 224 UGB
- Profit and loss according to Â§ 231 UGB (Gesamtkostenverfahren)
Profit and loss according to Â§ 231 UGB (Gesamtkostenverfahren)
Accounting reporting documentation

## SAF-T (Standard Audit File for Tax)

The Austrian tax office may request a SAF-T. The Austrian SAF-T Export module allows exporting the
report in XML format.

### Configuration

This section explains how to configure the database to ensure all the information required by the
SAF-T is available. If anything is missing, a warning message listing which information is needed
will be displayed during the export.

#### Company information

Open the database Settings . Under the Companies section, click Update Info and ensure the following fields are correctly filled in:
- Address , by providing at least the following information: Street City ZIP Country
Address , by providing at least the following information:
- Street
- Country
- Company ID by providing your companyâs tax ID
Company ID by providing your companyâs tax ID
- Tax ID by providing, if you have one, your UID-Nummer (including the country prefix)
Tax ID by providing, if you have one, your UID-Nummer (including the country prefix)
At least one contact person must be linked to your company in the Contacts app, and:
- Ensure the contact type is set to Individual .
Ensure the contact type is set to Individual .
- Select your company in the Company name field.
Select your company in the Company name field.
- Provide at least one phone number using the Phone or Mobile field.
Provide at least one phone number using the Phone or Mobile field.

#### Customer and supplier information

Using the Contacts app, fill in the Address of any partner that appears in
your invoices, vendor bills, or payments.
For partners that are companies, fill in the VAT number (including the country prefix) in the Tax ID field.

#### Accounting settings

Go to Accounting â£ Configuration â£ Settings . Under the Austrian
localization section, fill in the following fields:
- ÃNACE-Code
- Profit Assessment Method
Profit Assessment Method
ÃNACE information on the Austrian Economic Chambers website

#### Chart of accounts mapping

The Austrian SAF-T specifications define a chart of accounts (COA). All relevant accounts for the
SAF-T export must be annotated with a fitting account from this COA.
The needed mapping information is supplied by adding tags to the accounts. For example, adding the 1000 tag to an account maps it (virtually) to the SAF-T COA account with the code 1000 . Any
number can be used as long as there is an account in the SAF-T COA with that code.
`1000`
`1000`
The Austria - Accounting module adds a tag for each SAF-T COA account. Furthermore, it
automatically maps many accounts from the default Austrian COA.
You can try exporting the SAF-T report to check if there are unmapped accounts (or mapped to
multiple SAF-T accounts). A warning will be displayed if there is any issue with your configuration
or the mapping. Clicking View Problematic Accounts lets you view them.
Chart of accounts documentation

### Exporting the SAF-T report

To export the SAF-T report, go to Accounting â£ Reports â£ General Ledger . Click
the right side of the PDF button and select SAF-T .

Configuration
Financial reports
SAF-T (Standard Audit File for Tax)
Configuration
Exporting the SAF-T report


Belgium

# Belgium

## Configuration

Install the ð§ðª Belgium fiscal localization package to get all the default accounting features of the Belgian
localization, following the IFRS rules.
Documentation on e-invoicingâs legality and compliance in Belgium

## Chart of accounts

You can reach the Chart of accounts by going to Accounting â£
Configuration â£ Accounting: Chart of Accounts .
The Belgian chart of accounts includes pre-configured accounts as described in the PCMN . To add a new account, click New . A new line appears. Fill
it in, click Save , and then Setup to configure it further.

## Taxes

Default Belgian taxes are created automatically when the Belgium - Accounting and
the Belgium - Accounting Reports modules are installed. Each tax impacts the Belgian Tax Report , available by going to Accounting â£ Reporting â£
Statements Reports: Tax Report .
In Belgium, the standard VAT rate is 21% , but there are lower rates for some categories of goods
and services. An intermediate rate of 12% is applied on social housing and food served in
restaurants, while a reduced rate of 6% applies to most basic goods, such as food, water supply,
books, and medicine. A 0% rate applies to some exceptional goods and services, such as some
daily and weekly publications, as well as recycled goods.

### Non-deductible taxes

In Belgium, some taxes are not fully deductible, such as taxes on the maintenance of cars. This
means a part of these taxes is considered as an expense.
In Odoo, you can configure non-deductible taxes by creating tax rules for these taxes and linking
them to the corresponding accounts. This way, the system automatically calculates the taxes and
allocates them to the appropriate accounts.
To configure a new non-deductible tax, go to Accounting â£ Configuration â£
Accounting: Taxes , and click New :
- Add a line and select Base in the Based On column;
Add a line and select Base in the Based On column;
- Add a line , then select on tax in the Based on column and
enter the non-deductible percentage in the % column;
Add a line , then select on tax in the Based on column and
enter the non-deductible percentage in the % column;
- On the of tax line, select the Tax Grid(s) related to your tax;
On the of tax line, select the Tax Grid(s) related to your tax;
- Add a line with the deductible percentage in the % column;
Add a line with the deductible percentage in the % column;
- Set of tax in Based On ;
Set of tax in Based On ;
- Select 411000 VAT recoverable as account, and select the related tax grid.
Select 411000 VAT recoverable as account, and select the related tax grid.
Once you have created a non-deductible tax, you can apply it to your transactions by selecting the
appropriate tax during the encoding of bills and credit notes. The system automatically calculates
the tax amount and allocates it to the corresponding accounts based on the tax rules configured.
With the Belgian localization, the 21% car tax is created by default (50% non-deductible).
- Tax return (VAT declaration)
Tax return (VAT declaration)

## Reports

Here is the list of Belgian-specific reports available:
- Balance sheet;
- Profit & loss;
- Tax report;
- Partner VAT Listing;
- EC Sales List;
- Intrastat.
You can access Belgian-specific versions of reports by clicking on the book icon when on a
report and selecting its Belgian version: (BE) .

### Disallowed expenses report

Disallowed expenses are expenses that can be deducted from your accounting result but not from
your fiscal result.
The disallowed expenses report is available by going to Accounting â£ Reporting
â£ Management: Disallowed Expenses . It allows financial results in real-time, and periodic
changes. This report is generated based on the disallowed expenses categories that you can reach
by going to Accounting â£ Configuration â£ Management: Disallowed Expenses
Categories . Some categories already exist by default but do not have any rates. Click on Set Rates to update a specific category.
- You can add multiple rates for various dates. In that case, the rate used to calculate the
expense depends on the date at which it is calculated, and the rate set for that date.
You can add multiple rates for various dates. In that case, the rate used to calculate the
expense depends on the date at which it is calculated, and the rate set for that date.
- If you have the Fleet app installed, tick the Car Category box when applicable.
This makes the vehicle mandatory while booking a vendor bill.
If you have the Fleet app installed, tick the Car Category box when applicable.
This makes the vehicle mandatory while booking a vendor bill.
To link a disallowed expenses category with a specific account, go to Accounting â£
Configuration â£ Accounting: Chart of Accounts . Find the account you want, and click on Setup . Add the Disallowed Expense category in the Disallowed
Expenses field. From now, when an expense is created with this account, the disallowed expense is
calculated based on the rate mentioned in the Disallowed Expense category .
Letâs take an example reflecting restaurant and car expenses .

#### Restaurant expenses

In Belgium, 31% of restaurant expenses are non-deductible. Create a new disallowed expenses
category and set both Related Account(s) and Current Rate .

#### Car expenses: vehicle split

In Belgium, the deductible percentage varies from car to car and, therefore, should be indicated for
each vehicle. To do so, open Fleet and select a vehicle. In the Tax
info tab, go to the Disallowed Expenses Rate section and click on Add a
line . Add a Start Date and a % . The amounts go in the same account for all
car expenses.
When you create a bill for car expenses, you can link each expense to a specific car by filling the Vehicle column, so the right percentage is applied.
The vehicle split option available in the disallowed expenses report allows you to see
the rate and disallowed amount for each car.

## Fee form 281.50 and form 325

### Fee form 281.50

Annually, a 281.50 fee form must be reported to the fiscal authorities. To do so, the tag 281.50 must be added on the contact form of the entities concerned by the 281.50 fee. To
add the tag, open Contacts , select the person or company you want to create a 281.50 fee form for, and add the 281.50 tag in the Tags field.
`281.50`
`281.50`
Make sure the street, zip code, country , and VAT number are also informed on the Contact form .
Then, depending on the nature of the expense, add the corresponding 281.50 tag on the impact
accounts. To do so, go to Accounting â£ Configuration â£ Accounting: Chart of
Accounts , and click on Setup to add the corresponding 281.50 tag on the impacted
accounts, i.e., 281.50 - Commissions , depending on the nature of the expense.
`281.50`
`281.50`

### Form 325

You can create a 325 form by going to Accounting â£ Reporting â£ Belgium:
Create 325 form . A new page pops up: select the right options and click Generate 325
form . To open an already generated 325 form , go to Accounting â£ Reporting â£
Belgium: Open 325 forms .

## CODA and SODA statements

### CODA

CODA is an electronic XML format used to import Belgian bank statements. You can download CODA
files from your bank and import them directly into Odoo by clicking Import file from
your Bank journal on your dashboard.

### SODA

SODA is an electronic XML format used to import accounting entries related to salaries. SODA
files can be imported into the journal you use to record salaries by going to your Accounting dashboard and clicking Upload in the related journal card form.
Once your SODA files are imported, the entries are created automatically in your salary journal.

### CodaBox

CodaBox is a service that allows Belgian companies and accounting firms to access bank
information and statements. Odoo provides a way to import such statements automatically.

#### Configuration

To configure and use Codabox, first install the CodaBox module.
Make sure the company settings are correctly
configured, i.e., the country is set to Belgium and the Tax ID or Company ID field is filled.
- Go to Accounting â£ Configuration â£ Settings , then go to the CodaBox & SODA section.
Go to Accounting â£ Configuration â£ Settings , then go to the CodaBox & SODA section.
- Click on Manage Connection to open the connection wizard, which shows the Company VAT/ID number that will be used for the connection.
Click on Manage Connection to open the connection wizard, which shows the Company VAT/ID number that will be used for the connection.
- If this is your first connection , click on Create connection .
The wizard confirms that the connection has been created on Odooâs side . Follow the
steps to validate the connection on CodaBoxâs side too. If this is not your first connection , the Password provided by
Odoo during the first connection will be requested to create a new connection. Note This Password is unique to Odoo and must be stored securely
on your side.
If this is your first connection , click on Create connection .
The wizard confirms that the connection has been created on Odooâs side . Follow the
steps to validate the connection on CodaBoxâs side too.
If this is not your first connection , the Password provided by
Odoo during the first connection will be requested to create a new connection.
This Password is unique to Odoo and must be stored securely
on your side.
Accounting firms must manage their clients on separate databases and configure them
individually to avoid mixing up their data. The connection must be made by an accounting
firm with valid CodaBox Connect credentials.
In the following instructions, we will refer to your clientâs company as Company and to
your accounting firm as Accounting Firm .
Make sure the company settings are correctly
configured, i.e., the country is set to Belgium , the Tax ID or Company ID and Accounting Firm fields are filled, as well as the Tax ID of the Accounting Firm .
- Go to Accounting â£ Configuration â£ Settings , then go to the CodaBox & SODA section.
Go to Accounting â£ Configuration â£ Settings , then go to the CodaBox & SODA section.
- Click on Manage Connection to open the connection wizard, which shows the Accounting Firm VAT number and the Company VAT/ID number that will
be used for the connection.
Click on Manage Connection to open the connection wizard, which shows the Accounting Firm VAT number and the Company VAT/ID number that will
be used for the connection.
- If this is your first connection , click on Create connection . The wizard
confirms that the connection has been created on Odooâs side . Follow the steps to
validate the connection on CodaBoxâs side , too. If this is not your first connection , the Accounting Firm Password provided
by Odoo during the first connection will be requested to create a new connection. Note This Accounting Firm Password is unique to Odoo and must be stored
securely on your side.
If this is your first connection , click on Create connection . The wizard
confirms that the connection has been created on Odooâs side . Follow the steps to
validate the connection on CodaBoxâs side , too.
If this is not your first connection , the Accounting Firm Password provided
by Odoo during the first connection will be requested to create a new connection.
This Accounting Firm Password is unique to Odoo and must be stored
securely on your side.
The Status should have now switched to Connected .
- Create a new bank journal .
Create a new bank journal .
- Set the right IBAN in the Account Number field.
Set the right IBAN in the Account Number field.
- Select CodaBox synchronization as the Bank Feed .
Select CodaBox synchronization as the Bank Feed .
When working with bank transactions that use different currencies, it is recommended to
create multiple journals with the same bank account but different currencies.
- Create a new miscellaneous journal.
Create a new miscellaneous journal.
- Go to Accounting â£ Configuration â£ Settings , then go to the CodaBox section.
Go to Accounting â£ Configuration â£ Settings , then go to the CodaBox section.
- Select the journal you just created in the SODA journal field.
Select the journal you just created in the SODA journal field.

#### Synchronization

Once the connection is established, Odoo can be synchronized with CodaBox.
CODA files are automatically imported from CodaBox every 12 hours. You do
not have to do anything. However, if you wish, it can also be done manually,
by clicking on Fetch from CodaBox in the Accounting Dashboard.
SODA files are automatically imported from CodaBox once a day as a draft. You do not have to
do anything. However, if you wish, it can also be done manually by clicking on Fetch from CodaBox in the Accounting Dashboard.
By default, if an account in the SODA file is not mapped to an account in Odoo, the Suspense
Account (499000) is used, and a note is added to the created journal entry.
You can access the mapping between the SODA and Odoo accounts by going to Accounting â£ Configuration â£ Settings and clicking on the Open SODA Mapping button in the CodaBox section.

#### Potential issues

- CodaBox is not configured. Please check your configuration. Either the Company VAT or the Accounting Firm VAT is not set.
CodaBox is not configured. Please check your configuration.
Either the Company VAT or the Accounting Firm VAT is not set.
- No connection exists with these accounting firms and company VAT numbers. Please check your configuration. This can happen when checking the connection status, and the Accounting Firm VAT and Company VAT combination still needs to be registered. This may happen if you have
changed the Company VAT after the connection was established. For security reasons,
you have to recreate a connection for this Company VAT .
No connection exists with these accounting firms and company VAT numbers. Please check your configuration.
This can happen when checking the connection status, and the Accounting Firm VAT and Company VAT combination still needs to be registered. This may happen if you have
changed the Company VAT after the connection was established. For security reasons,
you have to recreate a connection for this Company VAT .
- It seems that your CodaBox connection is not valid anymore. Please connect again. This can happen if you revoke Odooâs access to your CodaBox account or still need to complete
the configuration process. In this case, you must revoke the connection and create a new one.
It seems that your CodaBox connection is not valid anymore. Please connect again.
This can happen if you revoke Odooâs access to your CodaBox account or still need to complete
the configuration process. In this case, you must revoke the connection and create a new one.
- The provided password is not valid for this accounting firm. You must reuse the password you received from Odoo during your first connection. The password you provided is different from the one you received from Odoo during your first
connection. You must use the password you received from Odoo during your first connection to
create a new connection for this accounting firm. If you have lost your password, you must first
revoke the Odoo connection on CodaBoxâs side (i.e., on your myCodaBox portal). Then, you can
revoke the connection on Odooâs side and create a new one .
The provided password is not valid for this accounting firm. You must reuse the password you received from Odoo during your first connection.
The password you provided is different from the one you received from Odoo during your first
connection. You must use the password you received from Odoo during your first connection to
create a new connection for this accounting firm. If you have lost your password, you must first
revoke the Odoo connection on CodaBoxâs side (i.e., on your myCodaBox portal). Then, you can
revoke the connection on Odooâs side and create a new one .
- It seems that the company or accounting firm VAT number you provided is not valid. Please check your configuration. Either the Company VAT or the Accounting Firm VAT is not in a valid
Belgian format.
It seems that the company or accounting firm VAT number you provided is not valid. Please check your configuration.
Either the Company VAT or the Accounting Firm VAT is not in a valid
Belgian format.
- It seems that the accounting firm VAT number you provided does not exist in CodaBox. Please check your configuration. The Accounting Firm VAT number you provided is not registered in CodaBox.
You may not have a valid CodaBox license linked to this VAT number.
It seems that the accounting firm VAT number you provided does not exist in CodaBox. Please check your configuration.
The Accounting Firm VAT number you provided is not registered in CodaBox.
You may not have a valid CodaBox license linked to this VAT number.
- It seems you have already created a connection to CodaBox with this accounting firm. To create a new connection, you must first revoke the old one on myCodaBox portal. You must go to your myCodaBox portal and revoke Odooâs access to your CodaBox account.
Then, you can create a new connection on Odooâs side.
It seems you have already created a connection to CodaBox with this accounting firm. To create a new connection, you must first revoke the old one on myCodaBox portal.
You must go to your myCodaBox portal and revoke Odooâs access to your CodaBox account.
Then, you can create a new connection on Odooâs side.
To revoke the connection between Odoo and CodaBox, go to Accounting â£ Configuration â£ Settings , scroll down to the CodaBox section, click on Manage Connection , then click on Revoke .

### Codaclean

Codaclean is a service that allows Belgian companies and accounting firms to access bank
information and statements. Odoo provides a way to import such statements and their transactions
automatically.

#### Configuration

Make sure to install the Codaclean ( l10n_be_codaclean )
module.
`l10n_be_codaclean`
To connect Odoo with Codaclean, follow these steps:
- Open the Settings app, navigate to the Companies section, and
click Manage Companies to make sure the companyâs Country is set to Belgium .
Open the Settings app, navigate to the Companies section, and
click Manage Companies to make sure the companyâs Country is set to Belgium .
- Go to Accounting â£ Configuration â£ Settings and scroll to the Codaclean section.
Go to Accounting â£ Configuration â£ Settings and scroll to the Codaclean section.
- Click Manage Connection to open the connection wizard, enter the Codaclean Username and Password and click Connect .
Click Manage Connection to open the connection wizard, enter the Codaclean Username and Password and click Connect .
The Status is updated to Connected .
Once the connection is established, the Manage Connection wizard provides two options:
- Update Codaclean credentials: Enter the new Username and Password , then
click Change Credentials .
Update Codaclean credentials: Enter the new Username and Password , then
click Change Credentials .
- Remove Codaclean connection: Click Disconnect ; no Username or Password is required.
Remove Codaclean connection: Click Disconnect ; no Username or Password is required.
A specific bank journal must be created for Codaclean synchronization. To do so, create a new
bank journal , make sure to enter the correct IBAN in the Bank
Account Number field, and select Codaclean Syncronization in the Bank Feeds field.
For bank transactions in different currencies, it is recommended to create a separate journal for
each currency, using the same bank account.

#### Synchronization

Once the connection is established, Odoo is synchronized with Codaclean, and new CODA files received
via Codaclean are checked every twelve hours.
To manually check for new CODA files, go to the Accounting Dashboard and click Fetch
from Codaclean on the relevant journal .

## Electronic invoicing with Peppol

As of 1 January 2026, all Belgian companies must be registered on the Peppol network to send and
receive electronic invoices.
To activate Peppol, refer to the Peppol documentation ,
ensuring during registration that:
- The Peppol EAS field is set to 0208 - Numero dâentreprise /
ondernemingsnummer / Unternehmensnummer .
The Peppol EAS field is set to 0208 - Numero dâentreprise /
ondernemingsnummer / Unternehmensnummer .
- the Peppol Endpoint field is set to the company registry number.
the Peppol Endpoint field is set to the company registry number.
In addition, when veryfing that a customer is registered as a Peppol participant , ensure the Format field is set to BIS Billing 3.0 .

## Cash discount

In Belgium, if an early payment discount is offered on an invoice, the tax is calculated based on
the discounted total amount, whether the customer benefits from the discount or not.
To apply the right tax amount and report it correctly in your VAT return, set the tax reduction as Always (upon invoice) .
Cash discounts and tax reduction

## Fiscal certification: POS restaurant

In Belgium, the owner of a cooking business such as a restaurant or food truck is required by law to
use a government-certified Cash Register System for their receipts. This applies if their yearly
earnings (excluding VAT, drinks, and take-away food) exceed 25,000 euros.
This government-certified system entails the use of a certified POS system , along with a device called a Fiscal Data Module (or black box ) and a VAT Signing Card .
Do not forget to register as foodservice industry manager on the Federal Public Service
Finance registration form .

### Certified POS system

The Odoo POS system is certified for databases hosted on Odoo Online , Odoo.sh , and On-Premise .
Standard and extended support
A certified POS system must
adhere to rigorous government regulations, which means it operates differently from a non-certified
POS.
- On a certified POS, you cannot: Set up and use the global discounts feature (the pos_discount module is blacklisted and
cannot be activated). Set up and use the loyalty programs feature (the pos_loyalty module is blacklisted and
cannot be activated). Reprint receipts (the pos_reprint module is blacklisted and cannot be activated). Modify prices in order lines. Modify or delete order lines in POS orders. Sell products without a valid VAT number. Use a POS that is not connected to an IoT box.
On a certified POS, you cannot:
- Set up and use the global discounts feature (the pos_discount module is blacklisted and
cannot be activated).
Set up and use the global discounts feature (the pos_discount module is blacklisted and
cannot be activated).
`pos_discount`
- Set up and use the loyalty programs feature (the pos_loyalty module is blacklisted and
cannot be activated).
Set up and use the loyalty programs feature (the pos_loyalty module is blacklisted and
cannot be activated).
`pos_loyalty`
- Reprint receipts (the pos_reprint module is blacklisted and cannot be activated).
Reprint receipts (the pos_reprint module is blacklisted and cannot be activated).
`pos_reprint`
- Modify prices in order lines.
Modify prices in order lines.
- Modify or delete order lines in POS orders.
Modify or delete order lines in POS orders.
- Sell products without a valid VAT number.
Sell products without a valid VAT number.
- Use a POS that is not connected to an IoT box.
Use a POS that is not connected to an IoT box.
- The cash rounding feature must be
activated and set to a Rounding Precision of 0,05 and a Rounding Method set as Half-Up .
The cash rounding feature must be
activated and set to a Rounding Precision of 0,05 and a Rounding Method set as Half-Up .
`0,05`
- Taxes must be set as included in the price. To set it up, go to Point of Sale â£
Configuration â£ Settings , and from the Accounting section, open the Default Sales Tax form by clicking the arrow next to the default sales tax field.
There, click Advanced Options and enable Included in Price .
Taxes must be set as included in the price. To set it up, go to Point of Sale â£
Configuration â£ Settings , and from the Accounting section, open the Default Sales Tax form by clicking the arrow next to the default sales tax field.
There, click Advanced Options and enable Included in Price .
- At the start of a POS session, users must click Work in to clock in. Doing so allows
the registration of POS orders. If users are not clocked in, they cannot make POS orders.
Likewise, they must click Work Out to clock out at the end of the session.
At the start of a POS session, users must click Work in to clock in. Doing so allows
the registration of POS orders. If users are not clocked in, they cannot make POS orders.
Likewise, they must click Work Out to clock out at the end of the session.
If you configure a POS to work with a FDM , you cannot use it again
without it.

### Fiscal Data Module (FDM)

An FDM, or black box , is a government-certified device that works together with the Point of
Sale application and saves your POS orders information. Concretely, a hash ( unique code )
is generated for each POS order and added to its receipt. This allows the government to verify that
all revenue is declared.
Only the FDM from BoÃ®tenoire.be with the FDM certificate number BMC04 is
supported by Odoo. Contact the manufacturer (GCV BMC) to
order one.

#### Configuration

Before setting up your database to work with an FDM, ensure you have the following hardware:
- a BoÃ®tenoire.be (certificate number BMC04) FDM;
a BoÃ®tenoire.be (certificate number BMC04) FDM;
- an RS-232 serial null modem cable per FDM;
an RS-232 serial null modem cable per FDM;
- an RS-232 serial-to-USB adapter per FDM;
an RS-232 serial-to-USB adapter per FDM;
- an IoT Box (one IoT box per FDM); and
an IoT Box (one IoT box per FDM); and
- a receipt printer.
As a pre-requisite, activate the Belgian Registered Cash Register module
(technical name: pos_blackbox_be ).
`BelgianRegisteredCashRegister`
`pos_blackbox_be`
Once the module is activated, add your VAT number to your company information. To set it up, go to Settings â£ Companies â£ Update Info , and fill in the VAT field.
Then, enter a national registration number for every staff member who operates the POS system. To do
so, go to the Employees app and open an employee form. There, go to HR
settings tab â£ Attendance/Point of Sale , and fill in the INSZ or BIS number field.
To input your information, click on your avatar, go to My Profile â£ Preference
tab , and enter your INSZ or BIS number in the designated field.
You must configure the FDM directly in the production database.
Utilizing it in a testing environment may result in incorrect data being stored within the FDM.
In order to use an FDM , you need a registered IoT Box. To register your
IoT box, you must contact us through our support contact form and
provide the following information:
- your VAT number;
- your companyâs name, address, and legal structure; and
your companyâs name, address, and legal structure; and
- the Mac address of your IoT Box.
the Mac address of your IoT Box.
Once your IoT box is certified, connect it to your database. To
verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the IOT Device section, which should display the FDM.
Then, add the IoT to your POS. To do so, go to Point of Sale â£ Configuration â£
Point of Sale , select your POS, scroll down to the Connected Device section, and enable IoT Box . Lastly, add the FMD in the Fiscal Data Module field.
To be able to use an FDM, you must at least connect one Receipt Printer .

### VAT signing card

When you open a POS session and make your initial transaction, you are prompted to enter the PIN
provided with your VSC . The card is delivered by the FPS upon registration .

Configuration
Chart of accounts
Taxes
Non-deductible taxes
Reports
Disallowed expenses report
Fee form 281.50 and form 325
Fee form 281.50
Form 325
CODA and SODA statements
CODA
SODA
CodaBox
Codaclean
Electronic invoicing with Peppol
Cash discount
Fiscal certification: POS restaurant
Certified POS system
Fiscal Data Module (FDM)
VAT signing card


Brazil

# Brazil

Helpful resources for the Brazilian localization, including onboarding materials and videos:
- Onboarding checklist for new users .
Onboarding checklist for new users .
- YouTube playlist - Brazil (Localization) .
YouTube playlist - Brazil (Localization) .
- YouTube playlist - Tutoriais Odoo em PortuguÃªs .
YouTube playlist - Tutoriais Odoo em PortuguÃªs .
- Documentation on e-invoicingâs legality and compliance in Brazil
Documentation on e-invoicingâs legality and compliance in Brazil

## Modules

The following modules related to the Brazilian localization are available:
Brazilian - Accounting
`l10n_br`
Brazilian fiscal localization package , complete with
the Brazilian chart of accounts, taxes, tax report, fiscal positions, and document and
identification types.
Brazil - Accounting Reports
`l10n_br_reports`
Accounting reports for Brazil.
AvaTax Brazil , Avatax Brazil Sale & Test SOs for the
Brazilian Avatax
l10n_br_avatax , l10n_br_avatax_sale & l10n_br_test_avatax_sale
`l10n_br_avatax`
`l10n_br_avatax_sale`
`l10n_br_test_avatax_sale`
Goods and Services tax computation through Avalara.
Brazilian Accounting EDI
`l10n_br_edi`
Provides electronic invoicing through Avatax.
Brazilian Accounting EDI For Sale
`l10n_br_edi_sale`
Adds some fields to sale orders that are carried over the invoice.
Brazilian Accounting EDI for POS
`l10n_br_edi_pos`
Provides electronic invoicing through Avatax in the POS.
Brazilian Accounting EDI for eCommerce
l10n_br_edi_website_sale
`l10n_br_edi_website_sale`
Allows tax calculation and EDI for eCommerce users.
Brazilian Accounting EDI for stock
`l10n_br_edi_stock`
Adds delivery-related information to the NF-e.
Brazil - Website Sale
`l10n_br_website_sale`
Allows tax calculation and EDI for eCommerce users.
`l10n_br_sales`
Sale modifications for Brazil
Brazil - Sale Subscription
l10n_br_sale_subscription
`l10n_br_sale_subscription`
Sale subscription modifications for Brazil
The localizationâs core modules are installed automatically with the localization. The rest can
be manually installed .

## Localization overview

The Brazilian localization package ensures compliance with Brazilian fiscal and accounting
regulations. It includes tools for managing taxes, fiscal positions, reporting, and a predefined
chart of accounts tailored to Brazilâs standards.
The Brazilian localization package provides the following key features to ensure compliance with
local fiscal and accounting regulations:
- Chart of accounts : a predefined structure tailored
to Brazilian accounting standards
Chart of accounts : a predefined structure tailored
to Brazilian accounting standards
- Taxes : pre-configured tax rates, including standard VAT,
zero-rated, and exempt options.
Taxes : pre-configured tax rates, including standard VAT,
zero-rated, and exempt options.
- Payroll
- Reporting

### Chart of accounts

In the chart of accounts , the accounts are
mapped automatically to their corresponding taxes, and the default account payable and account
receivable fields.
The Brazil chart of accounts is based on the SPED CoA, which provides a baseline of the necessary
accounts.

### Taxes

Taxes are automatically created and configured when installing the
Brazilian localization. Avalara uses some to compute taxes on sales orders or invoices.
Taxes used for services must be manually added and configured, as the rate may differ depending on
the city where the service is offered.
NFS-e canât be issued for service taxes created manually. To electronically send an NFS-e , compute taxes using Avalara.
Do not delete taxes, as they are used for the AvaTax tax computation. If deleted, Odoo creates
them again when used in an SO or invoice, computing taxes with AvaTax. However, the account
used to register the tax must be reconfigured in the taxâs Definition tab, under
the Distribution for invoices and Distribution for refunds sections.

## Company and contacts

To use all the features of this fiscal localization, the following fields are required on the company record :
- Address : add City , State , Zip Code , Country In the Street field, enter the street name, number, and any additional address
information. In the Street 2 field, enter the neighborhood.
Address : add City , State , Zip Code , Country
- In the Street field, enter the street name, number, and any additional address
information.
In the Street field, enter the street name, number, and any additional address
information.
- In the Street 2 field, enter the neighborhood.
In the Street 2 field, enter the neighborhood.
- Identification Number : CNPJ or CPF
Identification Number : CNPJ or CPF
- Tax ID : associated with the identification type
Tax ID : associated with the identification type
- IE : State registration
IE : State registration
- IM : Municipal registration
IM : Municipal registration
- SUFRAMA code : Superintendence of the Manaus Free Trade Zone - add if applicable
SUFRAMA code : Superintendence of the Manaus Free Trade Zone - add if applicable
Configure the Fiscal Information within the Sales and Purchase tab:
- Add the Fiscal Position for AvaTax Brazil.
Add the Fiscal Position for AvaTax Brazil.
- Tax Regime : Federal Tax Regime
Tax Regime : Federal Tax Regime
- ICMS Taxpayer Type : indicates ICMS regime , Exempt status ,
or Non-Taxpayer
ICMS Taxpayer Type : indicates ICMS regime , Exempt status ,
or Non-Taxpayer
- Main Activity Sector
Configure the following extra Fiscal Information to issue NFS-e:
- Add the Fiscal Position for AvaTax Brazil.
Add the Fiscal Position for AvaTax Brazil.
- COFINS Details : Taxable, Not Taxable, Taxable with rate 0%, Exempt,
Suspended
COFINS Details : Taxable, Not Taxable, Taxable with rate 0%, Exempt,
Suspended
- PIS Details Taxable, Not Taxable, Taxable with rate 0%, Exempt,
Suspended
PIS Details Taxable, Not Taxable, Taxable with rate 0%, Exempt,
Suspended
- CSLL Taxable if the company is subject to CSLL or not
CSLL Taxable if the company is subject to CSLL or not
If it is a simplified regime, the ICMS rate must be configured. To do so, go to Accounting â£ Configuration â£ Settings , scroll down to the Taxes section, and set the Sales Tax and Purchase Tax fields in the Default Taxes section.
The same configuration applies to the relevant contact form when
using the AvaTax integration.
Select the Company option for a contact with a tax ID (CNPJ), or check Individual for a contact with a CPF.

## AvaTax integration

- Make sure to install the AvaTax Brazil ( l10n_br_avatax )
module.
Make sure to install the AvaTax Brazil ( l10n_br_avatax )
module.
`l10n_br_avatax`
- Odoo is a certified partner of Avalara Brazil.
Odoo is a certified partner of Avalara Brazil.
- The Avalara AvaTax integration uses In-App-Purchases
(IAPs) to compute taxes and handle electronic documents
(e.g., NF-e , NFS-e ). Each action consumes credits from the IAP credit
balance . On creation, new databases receive
500 free credits.
The Avalara AvaTax integration uses In-App-Purchases
(IAPs) to compute taxes and handle electronic documents
(e.g., NF-e , NFS-e ). Each action consumes credits from the IAP credit
balance . On creation, new databases receive
500 free credits.
To compute the goods and services tax and process electronic invoices, the following configurations
are needed:
- Company
- Contacts
- AvaTax configuration .
AvaTax configuration .
- A1 digital certificate
A1 digital certificate
- Tax mapping
- Products

### Configuration

#### Credentials

Activate AvaTax in Odoo and, in the AvaTax Brazil section, add the administratorâs email address for the AvaTax portal in the AvaTax Portal
Email field, then click Create account .
When testing or creating a production AvaTax Portal Email integration in a
sandbox or production database, use a real email address, as it is needed to connect to
Avalara and set up the certificates, whether to test or use it
on production.
There are two different Brazilian Avalara Portals:
- One for testing: https://portal.sandbox.avalarabrasil.com.br/
One for testing: https://portal.sandbox.avalarabrasil.com.br/
- One for production: https://portal.avalarabrasil.com.br/
One for production: https://portal.avalarabrasil.com.br/
When the account is created from Odoo, select the right environment. Moreover, the email used to
open the account cannot be used to open another account. Save the API ID and API Key when the account is created from Odoo.
After the account is created from Odoo, go to the Avalara Portal to set up the password:
- Access the Avalara portal .
Access the Avalara portal .
- Click Meu primeiro acesso .
Click Meu primeiro acesso .
- Add the email address used in Odoo to create the Avalara/AvaTax account, and click Solicitar Senha .
Add the email address used in Odoo to create the Avalara/AvaTax account, and click Solicitar Senha .
- An email will then be received with a token and a link to create a password. Click this link
and copy-paste the token to allocate the desired password.
An email will then be received with a token and a link to create a password. Click this link
and copy-paste the token to allocate the desired password.
If you use AvaTax in Odoo for tax computation only , setting a password or accessing the
Avalara portal is unnecessary. However, to use the electronic invoice service, access to
AvaTax is needed, and the certificate must be uploaded .
API credentials can be transferred. This option should be used only when an account has already
been created in another Odoo instance and must be reused.

#### A1 certificate upload

To issue electronic invoices, a certificate must be uploaded to the AvaTax portal .
The certificate will be synchronized with Odoo as long as the external identifier number in the
AvaTax portal matches, without special characters, with the CNPJ number, and the identification
number (CNPJ) in Odoo matches the CNPJ in AvaTax.
Some cities require the certificate to be linked within the City Portal system before issuing
NFS-e from Odoo.
If an error message from the city that says Your certificate is not linked
to the user is received, this process needs to be done in the city portal.

#### Fiscal positions

To set up the Automatic Tax Mapping (Avalara Brazil) fiscal position , enable the Detect Automatically and Use AvaTax Brazil API options.

#### Products

To use the AvaTax integration on sales orders and invoices, enter the following information in the Sales tab of the product form under the Brazil Accounting section, based on
how the product will be used.
The Avalara integration works on a credit-based
system, where each interaction with Avalara consumes one credit. Below are the main
credit-consuming operations:
- Tax calculation on quotations and sales orders.
Tax calculation on quotations and sales orders.
Accounting application
- Tax calculation on invoices.
Tax calculation on invoices.
- Electronic invoice submission (NF-e or NFS-e).
Electronic invoice submission (NF-e or NFS-e).
Occasional operations : (each step is billed separately)
- Correction letter (Carta de CorreÃ§Ã£o)
Correction letter (Carta de CorreÃ§Ã£o)
- Invoice cancellation
- Sales refund via credit note
Sales refund via credit note
- Sales complementary invoice via debit note
Sales complementary invoice via debit note
- Invoice number range invalidation
Invoice number range invalidation
- Other tax validations.
Other tax validations.
If taxes are calculated in the Sales app, and the invoice is later issued in the Accounting app, the calculation happens twice, consuming two credits.
- CEST Code : tax classification code identifying goods and products subject to tax
substitution under ICMS regulations, and helps determine the applicable tax treatment and
procedures for specific items. The productâs applicability to this requirement can be verified at https://www.codigocest.com.br/ .
CEST Code : tax classification code identifying goods and products subject to tax
substitution under ICMS regulations, and helps determine the applicable tax treatment and
procedures for specific items. The productâs applicability to this requirement can be verified at https://www.codigocest.com.br/ .
- Mercosul NCM Code : Mercosur Common Nomenclature Product Code
Mercosul NCM Code : Mercosur Common Nomenclature Product Code
- Source of Origin : origin of the product, which can be foreign or domestic, among other
possible options, depending on the specific use case
Source of Origin : origin of the product, which can be foreign or domestic, among other
possible options, depending on the specific use case
- SPED Fiscal Product Type : fiscal product type according to the SPED list table
SPED Fiscal Product Type : fiscal product type according to the SPED list table
- Purpose of Use : intended purpose of use for this product
Purpose of Use : intended purpose of use for this product
Odoo automatically creates three products to be used for transportation costs associated with
sales. These are named Freight , Insurance , and Other Costs and are already configured. If more need to be created, duplicate and use the same configuration:
- Product Type Service
- Transportation Cost Type : Insurance , Freight , or Other Costs
Transportation Cost Type : Insurance , Freight , or Other Costs
The Avalara integration works on a credit-based
system, where each interaction with Avalara consumes one credit. Below are the main
credit-consuming operations:
- Tax calculation on quotations and sales orders.
Tax calculation on quotations and sales orders.
Accounting application
- Tax calculation on invoices.
Tax calculation on invoices.
- Electronic invoice submission (NF-e or NFS-e).
Electronic invoice submission (NF-e or NFS-e).
- Invoice status check (1 credit is consumed each time the invoice status is checked).
Invoice status check (1 credit is consumed each time the invoice status is checked).
Occasional operations : (each step is billed separately)
- Correction letter (Carta de CorreÃ§Ã£o)
Correction letter (Carta de CorreÃ§Ã£o)
- Invoice cancellation
- Sales refund via credit note
Sales refund via credit note
- Sales complementary invoice via debit note
Sales complementary invoice via debit note
- Invoice number range invalidation
Invoice number range invalidation
- Other tax validations.
Other tax validations.
If taxes are calculated in the Sales app and the invoice is later issued in the Accounting app, the calculation happens twice, consuming two credits.
- Mercosul NCM Code : Mercosur Common Nomenclature Product Code
Mercosul NCM Code : Mercosur Common Nomenclature Product Code
- Purpose of Use : intended purpose of use for this product
Purpose of Use : intended purpose of use for this product
- Service Code Origin : City Service Code where the provider is registered
Service Code Origin : City Service Code where the provider is registered
- Labor Assignment : checkbox to select if the service involves labor
Labor Assignment : checkbox to select if the service involves labor
- Transport Cost Type : type of transport costs to select
Transport Cost Type : type of transport costs to select
- Service Codes : City Service Code where the service will be provided; if no code is
added, the Service Code Origin will be used.
Service Codes : City Service Code where the service will be provided; if no code is
added, the Service Code Origin will be used.

### Tax computation

#### Tax calculations on quotations and sales orders

Trigger an API call to calculate taxes on a quotation or sales order automatically with AvaTax in
any of the following ways:
- Quotation confirmation Confirm a quotation into a sales order.
Confirm a quotation into a sales order.
- Manual trigger Click Compute Taxes Using AvaTax .
Click Compute Taxes Using AvaTax .
- Preview Click Preview .
- Email a quotation/sales order Send a quotation or sales order to a customer via email.
Send a quotation or sales order to a customer via email.
- Online quotation access When a customer accesses the quotation online (via the portal view), the API call is
triggered.
When a customer accesses the quotation online (via the portal view), the API call is
triggered.

#### Tax calculations on invoices

Trigger an API call to calculate taxes on a customer invoice automatically with AvaTax in any of
the following ways:
- Manual trigger Click Compute Taxes Using AvaTax .
Click Compute Taxes Using AvaTax .
- Preview Click Preview .
- Online invoice access When a customer accesses the invoice online (via the portal view), the API call is triggered.
When a customer accesses the invoice online (via the portal view), the API call is triggered.
The Fiscal Position must be set to Automatic Tax Mapping (Avalara Brazil) for any
of these actions to compute taxes automatically.
`AutomaticTaxMapping(AvalaraBrazil)`
Fiscal positions (tax and account mapping)

## Accounting

### Electronic documents

#### Configuration

A series number is linked to a sequence number range for electronic invoices. To configure the
series number on a sales journal, go to Accounting â£ Configuration â£ Journals and set it in the Series field. If more than one series is needed, a new sales journal
must be created, and a new series number must be assigned for each series.
Enable the Use Documents? option as the Series field will only be displayed
if the Use Documents? option is selected on the journal.
When issuing electronic and non-electronic invoices, the Type field selects the document
type used when creating the invoice.
When creating the journal, ensure the Dedicated Credit Note Sequence field in the Accounting Information section is unchecked, as in Brazil, sequences between
invoices, credit notes, and debit notes are shared per series number, which means per journal.

#### Customer invoices

To process an electronic invoice for goods (NF-e) or services (NFS-e), the invoice must be confirmed
and taxes must be computed by Avalara. The following fields must be filled out:
- Customer , with all customer information
Customer , with all customer information
- Payment Method: Brazil : Specify the expected payment method.
Payment Method: Brazil : Specify the expected payment method.
- Document Type : Select (55) Electronic Invoice (NF-e) or (SE)
Electronic Service Invoice (NFS-e) .
Document Type : Select (55) Electronic Invoice (NF-e) or (SE)
Electronic Service Invoice (NFS-e) .
- Fiscal Position set as Automatic Tax Mapping (Avalara Brazil) .
Fiscal Position set as Automatic Tax Mapping (Avalara Brazil) .
Some optional fields depend on the nature of the transaction. These fields in the Other
Info tab are not required, so in most cases, leaving them blank will not result in errors from the
government when the invoice is submitted:
- Freight Model determines how the goods are planned to be transported - domestic.
Freight Model determines how the goods are planned to be transported - domestic.
- Transporter Brazil determines who is doing the transportation.
Transporter Brazil determines who is doing the transportation.
Then, click Send . In the pop-up window, click Process
e-invoice and any other options, such as Download or Email . Finally, click Send to process the invoice with the government.
All fields available on the invoice used to issue an electronic invoice are also available on the
sales order, if needed. When creating the first invoice, the Document Number field is
displayed and allocated as the first number to be used sequentially for subsequent invoices.

#### Credit notes

If a sales return needs to be registered, a credit note can be created in Odoo and sent to the government for validation.
Credit notes are only available for electronic invoices for goods (NF-e).

#### Debit notes

If additional information needs to be included or values that were not accurately provided in the
original invoice need to be corrected, a debit note can be issued .
- Debit notes are only available for electronic invoices for goods (NF-e).
Debit notes are only available for electronic invoices for goods (NF-e).
- Only the products included in the original invoice can be included in the debit note. While
changes can be made to the productâs unit price or quantity, products cannot be added to
the debit note. The purpose of this document is only to declare the amount to be added to the
original invoice for the same or fewer products.
Only the products included in the original invoice can be included in the debit note. While
changes can be made to the productâs unit price or quantity, products cannot be added to
the debit note. The purpose of this document is only to declare the amount to be added to the
original invoice for the same or fewer products.

#### Invoice cancellation

It is possible to cancel an electronic invoice that the government validated.
Check whether the electronic invoice is still within the cancellation deadline, which may vary
according to each stateâs legislation.
To cancel an e-invoice for goods (NF-e) in Odoo, click Request Cancel and add a
cancellation Reason on the pop-up that appears. To send this cancellation reason to the
customer via email, enable the E-mail checkbox.
This is an electronic cancellation, which means that Odoo will send a request to the government
to cancel the NF-e. It will then consume one IAP credit, as an API call occurs.
To cancel an e-invoice for services (NFS-e) in Odoo, click Request Cancel . There is no
electronic cancellation process in this case, as not every city has this service available. The
user needs to cancel this NFS-e on the city portal manually. Once that step is completed, they can
request the cancellation in Odoo, which will cancel the invoice.

#### Correction letter

A correction letter can be created and linked to an electronic invoice for goods (NF-e) that the
government validated.
To do so in Odoo, click Correction Letter and add a correction Reason to the
pop-up. To send the correction reason to a customer via email, enable the E-mail checkbox.
Correction letters are only available for electronic invoices for goods (NF-e).

#### Invoice number range invalidation

A range of sequences that are assigned to sales journals can be invalidated by the government if
they are not currently used and will not be used in the future. To do so, go to Accounting â£ Configuration â£ Journals , open the journal, click the (gear) icon, and select Invalidate Number Range (BR) . On the Invalidate Number Range (BR) wizard, add the Initial Number and End Number of the range that should be cancelled, and enter an invalidation Reason .
- Invoice number range invalidation is only available for electronic invoices for goods (NF-e).
Invoice number range invalidation is only available for electronic invoices for goods (NF-e).
- The journalâs chatter records the log of the cancelled numbers, along with the XML file.
The journalâs chatter records the log of the cancelled numbers, along with the XML file.

### Vendor bills

When receiving an invoice from a supplier, encode the bill in Odoo by adding all the commercial
information and the same Brazilian-specific information recorded on the customer invoices .
These Brazilian-specific fields are:
- Payment Method: Brazil : Specify the expected payment method.
Payment Method: Brazil : Specify the expected payment method.
- Document Type : used by the vendor
Document Type : used by the vendor
- Document Number : the invoice number from the supplier
Document Number : the invoice number from the supplier
- Freight Model : NF-e specific how goods are planned to be transported - domestic
Freight Model : NF-e specific how goods are planned to be transported - domestic
- Transporter Brazil : NF-e specific who is doing the transportation.
Transporter Brazil : NF-e specific who is doing the transportation.

## Point of sale NFC-e

The NFC-e is a legal document that supports selling goods or merchandise to the final customer. Like
the NF-e , the electronic customer invoice is also
issued in XML file format and has an auxiliary document (DANFC-e) known as the NFC-e Summary . This
electronic document can be issued through Odoo Point of Sale .
Its legal validity is guaranteed by the digital signature and by each Brazilian stateâs SEFAZ
(Secretaria da Fazenda).
The Avalara integration operates on a credit-based
system. Each operation that involves communication with Avalara consumes one credit. The
following operations within the Point of Sale (POS) application are subject to credit
consumption:
- Tax calculation at the time of sale
Tax calculation at the time of sale
- Electronic invoice issuance (NFC-e)
Electronic invoice issuance (NFC-e)
Each step is billed separately. For example, calculating taxes and issuing an invoice for the
same POS transaction consumes two credits.

### Configuration

Install the Brazilian Accounting EDI for POS ( l10nbr_edi_pos )
module and make sure to activate AvaTax .
`l10nbr_edi_pos`

### CSC details

Go to Accounting â£ Configuration â£ Settings and scroll to the Taxes section. In the NFC-e configuration section, complete the following CSC (Taxpayer
Security Code) fields:
- CSC ID : The CSC ID or CSC Token is an identification of the taxpayer security
code, which can have 1 to 6 digits and is available on the official website of your stateâs
Department of Finance (SEFAZ).
CSC ID : The CSC ID or CSC Token is an identification of the taxpayer security
code, which can have 1 to 6 digits and is available on the official website of your stateâs
Department of Finance (SEFAZ).
- CSC Number : The CSC Number is a code of up to 36 characters that only you and the
Department of Finance know. It is used to generate the QR Code of the NFC-e and ensure the
authenticity of the DANFE.
CSC Number : The CSC Number is a code of up to 36 characters that only you and the
Department of Finance know. It is used to generate the QR Code of the NFC-e and ensure the
authenticity of the DANFE.
The information required for these fields can be generated through the SEFAZ website of each
Brazilian State by the companyâs accountant.

### Product configuration

Access the relevant product form in POS , then
configure the product âs Brazil Accounting fields.

### Point of sale

Go to Point of Sale â£ Configuration â£ Settings and make sure that the relevant
Point of Sale is selected at the top of the screen .
Then, scroll to the Accounting section and configure the Brazilian EDI fields:
- Series
- Next number : the next NFC-e number in the sequence to be issued, for instance, if the
last number issued in SEFAZ is 100 , the Next number will be 101 .
Next number : the next NFC-e number in the sequence to be issued, for instance, if the
last number issued in SEFAZ is 100 , the Next number will be 101 .
`100`
`101`

### Workflow

#### Generating an NFC-e

To generate an NFC-e, follow these steps:
- Open the relevant point of sale shop and make a sale .
Open the relevant point of sale shop and make a sale .
- Validate the payment to calculate taxes and issue an NFC-e. The valid NFC-e appears on the right
side of the screen.
Validate the payment to calculate taxes and issue an NFC-e. The valid NFC-e appears on the right
side of the screen.
It is also possible to issue an NFC-e that identifies the customer by their CPF/CNPJ. To do
so, click Customer , search for the customer, or create a new one.
The following are mandatory fields to issue a CPF/CNPJ identified NFC-e:
- City and State where the invoice is being issued
City and State where the invoice is being issued
- CPF/CNPJ
- Click Validate . The NFC-e appears, highlighting the customerâs CPF on the print.
Click Validate . The NFC-e appears, highlighting the customerâs CPF on the print.
- Click Print or Send via e-mail to deliver the invoice to the customer.
Click Print or Send via e-mail to deliver the invoice to the customer.

#### NFC-e ticket print

After generating and validating the NFC-e , click Print to deliver the invoice.
The Odoo NFC-e feature is compatible with any thermal printer and does not require an Odoo
IoT Box .

#### Re-issuing a PoS order with an NFC-e error

If the NFC-e returns an error, follow these steps:
- Correct the error.
- Re-issue the NFC-e by clicking the (menu) icon and selecting Orders .
Re-issue the NFC-e by clicking the (menu) icon and selecting Orders .
- Filter the list to show only Paid orders and click Details . The error is
displayed.
Filter the list to show only Paid orders and click Details . The error is
displayed.
- Click Send NFC-e .
If the error has been corrected and the PoS session is closed, Odoo logs the tax adjustment in
the chatter of the related journal entry. The journal entry for the order indicates that the
taxes were incorrectly calculated. In this case, reprocessing the NFC-e is required.

#### NFC-e refunds & cancellations

Refunds can be processed directly in Odoo , but cancellations must be performed
through the official government portal.
When the process is finalized, the approved return NF-e is created, meaning the previous NFC-e is
canceled .
SEFAZ only allows cancellation of an NFC-e within 30 minutes of its issuance on the SEFAZ
website. After this period, a manual refund must be processed, along with the issuance of a Return of Goods NF-e .

Modules
Localization overview
Chart of accounts
Taxes
Company and contacts
AvaTax integration
Configuration
Tax computation
Accounting
Electronic documents
Vendor bills
Point of sale NFC-e
Configuration
CSC details
Product configuration
Point of sale
Workflow


Canada

# Canada

The Odoo Canada localization package provides tailored features and configurations for Canadian
businesses.
A series of videos on the subject of Accounting are available through Odooâs eLearning platform.
These videos cover how to start from scratch, set up configurations, complete common workflows, and
provide in-depth looks at some specific use cases.
- Odoo Tutorials: Accounting & Invoicing
Odoo Tutorials: Accounting & Invoicing
- Odoo SmartClass: Accounting
Odoo SmartClass: Accounting

## Configuration

Below are the available modules in Odoo for accounting use in Canada.

### Modules installation

Install the following modules to get all the features of the Canadian
localization:
`l10n_ca`
Base accounting module for Canadian localization.
Canada - Accounting Reports
`l10n_ca_reports`
Adds Canadian accounting reports.
Canadian Checks Layout
l10n_ca_check_printing
`l10n_ca_check_printing`
Enables the printing of payments on pre-printed check paper. Supports the three most common
check formats and works natively with the linked checks from checkdepot.net .
- Check on top: Quicken / QuickBooks standard
Check on top: Quicken / QuickBooks standard
- Check on middle: Peachtree standard
Check on middle: Peachtree standard
- Check on bottom: ADP standard
Check on bottom: ADP standard

## Chart of accounts

The chart of accounts (COA) for the Canadian
localization, in Odoo, has accounts grouped into seven main categories, with corresponding numeric
values that prefix individual journal entries:
- Receivable : the balance of money (or credit) due to the business for goods or services
delivered or used, but not yet paid for by customers. AR is indicated by the journal code
labeled (or beginning) with 1 .
Receivable : the balance of money (or credit) due to the business for goods or services
delivered or used, but not yet paid for by customers. AR is indicated by the journal code
labeled (or beginning) with 1 .
- Payable : the businessâs short-term obligations owed to its creditors or suppliers, which have
not yet been paid. AP is indicated by the journal code labeled (or beginning) with 2 .
Payable : the businessâs short-term obligations owed to its creditors or suppliers, which have
not yet been paid. AP is indicated by the journal code labeled (or beginning) with 2 .
- Equity : the amount of money that would be returned to a companyâs shareholders if all of the
assets were liquidated and all of the companyâs debt was paid off in the case of liquidation.
Equity is indicated by the journal code labeled (or beginning) with 3 or 9 .
Equity : the amount of money that would be returned to a companyâs shareholders if all of the
assets were liquidated and all of the companyâs debt was paid off in the case of liquidation.
Equity is indicated by the journal code labeled (or beginning) with 3 or 9 .
- Assets : items listed on the balance sheet that contains economic value or have the ability to
generate cash flows in the future, such as a piece of machinery, a financial security, or a
patent. Assets are indicated by the journal code labeled (or beginning) with 1 .
Assets : items listed on the balance sheet that contains economic value or have the ability to
generate cash flows in the future, such as a piece of machinery, a financial security, or a
patent. Assets are indicated by the journal code labeled (or beginning) with 1 .
- Liability : refers to a companyâs financial debts or obligations that arise during the course
of business operations. Liabilities are indicated by the journal code labeled (or beginning) with 2 .
Liability : refers to a companyâs financial debts or obligations that arise during the course
of business operations. Liabilities are indicated by the journal code labeled (or beginning) with 2 .
- Income : synonymous with net income , this is the profit a company retains after paying off
all relevant expenses from sales revenue earned. Income is indicated by the journal code labeled
(or beginning) with 4 or 6 .
Income : synonymous with net income , this is the profit a company retains after paying off
all relevant expenses from sales revenue earned. Income is indicated by the journal code labeled
(or beginning) with 4 or 6 .
- Expenses : the cost of operations that a company incurs to generate revenue. Expenses are
indicated by the journal code labeled (or beginning) with a 6 .
Expenses : the cost of operations that a company incurs to generate revenue. Expenses are
indicated by the journal code labeled (or beginning) with a 6 .
Predefined accounts are included in Odoo, as part of the CoA thatâs installed with the Canadian
localization package. The accounts listed below are preconfigured to perform certain operations
within Odoo. It is recommended to not delete these accounts; however, if changes are needed,
rename the accounts instead.
Current Year Earnings
Undistributed Profits/Losses
- Chart of accounts
- Accounting cheat sheet
Accounting cheat sheet

## Fiscal positions

Canadian tax rates and taxable items vary by province and territory. Default fiscal positions are
automatically created when the Odoo Accounting application is installed. To manage or configure
additional fiscal positions, navigate to Accounting â£ Configuration â£ Fiscal
Positions .
The following fiscal positions are available by default:
- Alberta (AB)
- British Columbia (BC)
British Columbia (BC)
- Manitoba (MB)
- New Brunswick (NB)
- Newfoundland and Labrador (NL)
Newfoundland and Labrador (NL)
- Nova Scotia (NS)
- Northwest Territories (NT)
Northwest Territories (NT)
- Nunavut (NU)
- Ontario (ON)
- Prince Edward Islands (PE)
Prince Edward Islands (PE)
- Quebec (QC)
- Saskatchewan (SK)
- Yukon (YT)
- International (INTL)
When considering what taxes to be applied, it is the province where the delivery occurs that
matters. Therefore, delivery is the responsibility of the vendor and is accounted for at the
customer location.
- A delivery is made to a customer from another province. Set the fiscal position on the customerâs record to the province of the customer.
Set the fiscal position on the customerâs record to the province of the customer.
- A customer from another province comes to pick up products. No fiscal position should be set on the customerâs record.
No fiscal position should be set on the customerâs record.
- An international vendor doesnât charge any tax, but taxes are charged by the customs broker. Set the fiscal position on the vendorâs record to International .
Set the fiscal position on the vendorâs record to International .
- An international vendor charges provincial tax. Set the fiscal position on the vendorâs record to your position.
Set the fiscal position on the vendorâs record to your position.
Fiscal positions (tax and account mapping)

## Taxes

In Canada, tax rates and what is considered taxable vary by province and territory. Default Sales and Purchases taxes are created automatically when the Odoo Accounting application is
installed. To manage existing or configure additional taxes, navigate to Accounting
â£ Configuration â£ Taxes .

### AvaTax

Avalara AvaTax is a cloud-based tax calculation and compliance software that integrates with
Odoo for several localizations, including Canada. Integrating AvaTax with Odoo provides real-time
and region-specific tax calculations when items are sold, purchased, and invoiced in the database.
AvaTax is available for integration with databases/companies that have locations in Canada and/or
the United States. Reference the Fiscal country documentation for more
information.
Refer to the documentation articles below to integrate and configure an AvaTax account with an
Odoo database:
- AvaTax integration
- Avalara management portal
Avalara management portal
- Calculate taxes with AvaTax
Calculate taxes with AvaTax
- Avalaraâs support documents: About AvaTax
Avalaraâs support documents: About AvaTax

## Reports

A number of report selections are readily available for the
Canadian localization, under the Accounting app â£ Reporting drop-down menu:
- Balance Sheet : a âsnapshotâ of a companyâs financial
position at a specific point in time, which contains an overview of a companyâs assets,
liabilities, and equity. Be sure to select the Balance sheet (CA) option from the Report filter.
Balance Sheet : a âsnapshotâ of a companyâs financial
position at a specific point in time, which contains an overview of a companyâs assets,
liabilities, and equity.
Be sure to select the Balance sheet (CA) option from the Report filter.
- Profit & Loss : otherwise known as a P&L statement or income statement , provides a summary of a companyâs revenues, expenses, and profits/losses over
a given period of time. Be sure to select the Profit and loss (CA) option from the Report filter.
Profit & Loss : otherwise known as a P&L statement or income statement , provides a summary of a companyâs revenues, expenses, and profits/losses over
a given period of time.
Be sure to select the Profit and loss (CA) option from the Report filter.
- Cash Flow Statement : shows how much cash and cash equivalents a company has received
and spent in a given period.
Cash Flow Statement : shows how much cash and cash equivalents a company has received
and spent in a given period.
- Executive Summary : an overview report that covers
the key performance indicators of a companyâs financial position, such as revenue, profit, and
debt.
Executive Summary : an overview report that covers
the key performance indicators of a companyâs financial position, such as revenue, profit, and
debt.
- Tax Report : an official form filed for a tax authority
that reports income, expenses, and other pertinent tax information. Tax reports allow taxpayers to
calculate their tax liability, schedule tax payments, or request refunds for the overpayment of
taxes. In Odoo, the tax report can be made monthly, every two months, quarterly, every 4 months,
semi-annually, and annually.
Tax Report : an official form filed for a tax authority
that reports income, expenses, and other pertinent tax information. Tax reports allow taxpayers to
calculate their tax liability, schedule tax payments, or request refunds for the overpayment of
taxes. In Odoo, the tax report can be made monthly, every two months, quarterly, every 4 months,
semi-annually, and annually.
- Accounting reporting
- Search, filter, and group records
Search, filter, and group records

## Cash discount

Cash discounts can be configured from Accounting app â£ Payment Terms . Each
payment term can be set up with a cash discount and reduced tax.
Cash discounts and tax reduction

## Writing checks

The Canadian localization allows users to print checks for vendor payments. Be sure the Canadian
Checks Layout ( l10n_ca_check_printing ) module for the CA localization is installed .
`l10n_ca_check_printing`
To enable check printing from Odoo, navigate to Accounting â£ Configuration â£
Settings and find the Vendor Payments section. From here, tick the Checks checkbox to reveal several fields for check configuration.
Select a Check Layout from the drop-down menu:
- Print Check (Top) - CA
Print Check (Top) - CA
- Print Check (Middle) - CA
Print Check (Middle) - CA
- Print Check (Bottom) - CA
Print Check (Bottom) - CA
Next, choose whether or not to enable the Multi-Pages Check Stub checkbox.
Optionally set a Check Top Margin , Check Left Margin , or Check
Right Margin if required.
Tick the Print Date Label checkbox if a date label is required.
Once all check configurations are complete, Save the settings.
Some of the check formats may require pre-printed paper from a third party vendor. Pre-printed checks from checkdepot.net are
recommended.

Configuration
Modules installation
Chart of accounts
Fiscal positions
Taxes
AvaTax
Reports
Cash discount
Writing checks