Avalara (Avatax) portal

# Avalara (Avatax) portal

Avalaraâs ( AvaTax ) management console offers account management options including: viewing/editing
the transactions sent from Odoo to AvaTax , details on how the taxes are calculated, tax reporting,
tax exemption management, and tax return resources.
Avalara is the software developer of the tax software, AvaTax .
To access the console, first, navigate to either Avalaraâs sandbox or production environment.
This will depend on which type of account was set in the integration . Log in to
the management console.
For more information see Avalaraâs documentation: Activate your Communications Customer Portal
account .

## Transactions

To access transactions, click in the Transactions link on the main dashboard upon
logging into the Avalara (Avatax) portal . To manually access the Transactions page, while logged into
the Avalara console, navigate to Transactions â£ Transactions .

### Edit transaction

Click into a transaction to reveal more details about the transaction. These details include
sections on Invoice detail , Additional info , and Customer info .
Click Edit document details to make changes to the transaction.
A Discount can be added to adjust the invoice. This is especially useful in cases where
the transaction has already synced with Avalara / AvaTax , and changes need to be made afterward.

### Filter

Filter transactions on the Transactions page, by setting the From and To fields, and configuring other fields to filter by, including:
- Document Status : any of the following options, All , Voided , Committed , Uncommitted , or Locked .
Document Status : any of the following options, All , Voided , Committed , Uncommitted , or Locked .
- Document Code : any of the following options, Exactly match , Starts with , or Contains .
Document Code : any of the following options, Exactly match , Starts with , or Contains .
- Customer/Vendor Code : the customer/vendor code in Odoo (e.g. Contact18 ).
Customer/Vendor Code : the customer/vendor code in Odoo (e.g. Contact18 ).
`Contact18`
- Country : the country this tax was calculated in; this is a text field.
Country : the country this tax was calculated in; this is a text field.
- Region : the region of the country, which varies based on the Country selection.
Region : the region of the country, which varies based on the Country selection.
Click Filters to access the following filter conditions:
- Document Type : any of the following selections, All , Sales
Invoice , Purchase Invoice , Return Invoice , Inventory Transfer
Inbound Invoice , Inventory Transfer Outbound Invoice , or Customs
Invoice .
Document Type : any of the following selections, All , Sales
Invoice , Purchase Invoice , Return Invoice , Inventory Transfer
Inbound Invoice , Inventory Transfer Outbound Invoice , or Customs
Invoice .
- Import ID : represents the import ID of the document.
Import ID : represents the import ID of the document.

### Sort by

On the Transactions page, transactions will be listed below, according to the set Filter , located in the top half of the page. The following columns are
available by default, to sort by ascending or descending order:
- Doc Code : either of the following options, Exactly match , Starts with , or Contains .
Doc Code : either of the following options, Exactly match , Starts with , or Contains .
- Doc Status : either of the following options, All , Voided , Committed , Uncommitted , or Locked .
Doc Status : either of the following options, All , Voided , Committed , Uncommitted , or Locked .
- Cust/Vendor Code : this is the customer/vendor code in Odoo (e.g. Contact18).
Cust/Vendor Code : this is the customer/vendor code in Odoo (e.g. Contact18).
- Region : this is the region of the country, this will vary based on the Country selection.
Region : this is the region of the country, this will vary based on the Country selection.
- Amount : the numeric amount of the total amount on the Odoo document.
Amount : the numeric amount of the total amount on the Odoo document.
- Tax : the numeric amount of the tax applied to the total.
Tax : the numeric amount of the tax applied to the total.

#### Customize columns

Additional columns can be added by clicking the Customize columns . On the
resulting popover window, click the drop-down menu for the column that should be
changed.
The following columns can be added for additional transactional information:
- AvaTax calculated : the amount of tax calculated by AvaTax .
AvaTax calculated : the amount of tax calculated by AvaTax .
- Country : the country this tax was calculated in; this is a text field.
Country : the country this tax was calculated in; this is a text field.
- Cust/vendor code : the customer/vendor code in Odoo (e.g. Contact18 ).
Cust/vendor code : the customer/vendor code in Odoo (e.g. Contact18 ).
`Contact18`
- Currency : the standardized abbreviation for the currency the amount total is in.
Currency : the standardized abbreviation for the currency the amount total is in.
- Doc date : the documentâs date of creation.
Doc date : the documentâs date of creation.
- Doc status : any of the following options, All , Voided , Committed , Uncommitted , or Locked .
Doc status : any of the following options, All , Voided , Committed , Uncommitted , or Locked .
- Doc type : any of the following selections, All , Sales
Invoice , Purchase Invoice , Return Invoice , Inventory Transfer
Inbound Invoice , Inventory Transfer Outbound Invoice , or Customs
Invoice .
Doc type : any of the following selections, All , Sales
Invoice , Purchase Invoice , Return Invoice , Inventory Transfer
Inbound Invoice , Inventory Transfer Outbound Invoice , or Customs
Invoice .
- Import ID : represents the import ID of the document.
Import ID : represents the import ID of the document.
- Last modified : timestamp of the last time the document was modified.
Last modified : timestamp of the last time the document was modified.
- Location code : the location code used to calculate the tax, based on the delivery
address.
Location code : the location code used to calculate the tax, based on the delivery
address.
- PO number : the purchase order number.
PO number : the purchase order number.
- Reference code : the Odoo reference code (e.g. NV/2024/00003)
Reference code : the Odoo reference code (e.g. NV/2024/00003)
- Region : the region of the country,which varies based on the Country selection.
Region : the region of the country,which varies based on the Country selection.
- Salesperson code : the numeric ID of the user assigned to the sales order in Odoo.
Salesperson code : the numeric ID of the user assigned to the sales order in Odoo.
- Tax date : the month/day/year of the tax calculation.
Tax date : the month/day/year of the tax calculation.
- Tax override type : where an exemption would appear, should there be none, the field
populates with None .
Tax override type : where an exemption would appear, should there be none, the field
populates with None .
To add a new column click the Column .
For more information on AvaTax transactions, refer to this Avalara documentation: Transactions .

### Import-export

While on the Transactions , click Import
transactions or Export transactions to import or export transactions.

### Reports

To access reporting, navigate to the Reports link in the top menu of the Avalara
management console. Next, select from one of the available reporting tabs: Transactions
reports , Liability & tax return reports , or Exemption reports .
Additionally, there is a Favorites tab and Downloads tab. The Favorites tab contains any favorited report configurations for the Avalara user. The Downloads tab contains a list view where the user can download the high-volume
transaction reports created in the last 30 days.
Make a selection for the Report Category , and the Report Name , under the Select a report section.
Next, fill out the Select report details section. These options will vary based on the
tab selected above.
Depending on the report size, the following two options are available in the section labeled, Select the approximate number of transactions for your report : Create and
download the report instantly (for small reports) and Create and download the report in
the background (for larger reports). Select one or the other depending on the volume of
transactions in this report.
Finally, under the section labeled, Report preview and export make a selection of the
file type to download. Either a .PDF or .XLS can be chosen. Alternatively,
the file can be previewed by selecting the Preview option.
After making all the configurations, click Create report to download the report. Click Make this report a favorite to save the report configuration to the
userâs favorites.
After the report is created, click Download to download the file to
the device.
Select a pre-configured report from the Frequently used reports section of the
reporting dashboard.
Access this list by clicking on the Reports option in the top menu of the Avalara
management console, and scroll to the bottom of the page.
See Avalaraâs documentation: Reports in AvaTax .

## Add more jurisdictions

Additional jurisdictions (tax locations) can be added in the Avalara management console. Navigate to
either Avalaraâs sandbox or production environment. This will depend on which type of account was set in the integration .
Next, navigate to Settings â£ Where you collect tax . Choose between the three
different tabs, depending on the business need. The first tab is Sales and use tax ,
where tax can be collected for the United States. Click the Add to where
you collect sales and use tax to add another location where the company collects sales and use tax.
The second option, is the VAT/GST tab where the Add a country
or territory where you collect VAT/GST can be selected to add another country or territory where
the company collects VAT/GST.
Finally, on the far-right, is the Customs duty tab, where a country can be added where
the company collects customs duty. Simply click on the Add a country
where you calculate customs duty icon below the tab.
See Avalaraâs documentation: Add local jurisdiction taxes .

## Tax exemption certificate

Tax exemption certificates for customers can be added into the Avalara management console, so that AvaTax is aware of which customers may be exempt from paying certain taxes. To add an exception
certificate navigate to Exemptions â£ Customer certificates . From there, click on
the Add a certificate to configure an exemption.
An Avalara subscription to Exemption Certificate Management (ECM) is required in order to attach
certificate images, and to be ready for an audit. For more on subscribing to this add-on, visit Avalara .

## End-of-year operations

Avalaraâs services include tax return services, for when it is time to file taxes at the end of the
year. To access Avalaraâs tax services log, into the management portal . Then, from the main dashboard, click Returns . Avalara
will prompt the Avalara user to log in for security purposes, and redirect the user to the Returns portal.
Click Get started to begin the tax return process. For more information, refer to this
Avalara documentation: About Managed Returns .
Alternatively, click on the Returns button in the top menu of the Avalara
management console.
- AvaTax integration
- AvaTax use
- US Tax Compliance: Avatax elearning video
US Tax Compliance: Avatax elearning video

Transactions
Edit transaction
Filter
Sort by
Import-export
Reports
Add more jurisdictions
Tax exemption certificate
End-of-year operations


AvaTax use

# AvaTax use

AvaTax is a tax calculation software that can be integrated with Odoo in the United States and
Canada. Once the integration setup is complete, the calculated tax is simple and
automatic.

## Tax calculation

Automatically calculate taxes on Odoo quotations and invoices with AvaTax by confirming the
documents during the sales flow. Alternatively, calculate the taxes manually by clicking the Compute Taxes button, while these documents are in draft stage.
Clicking the Compute Taxes button recalculates taxes, if any product lines are edited
on the invoice.
The tax calculation is triggered during the following automatic trigger and manual trigger circumstances.

### Automatic triggers

- When the sales rep sends the quote by email with Send by email button (pop-up).
When the sales rep sends the quote by email with Send by email button (pop-up).
- When the customer views the online quote on the portal.
When the customer views the online quote on the portal.
- When a quote is confirmed and becomes a sales order.
When a quote is confirmed and becomes a sales order.
- When the customer views the invoice on the portal.
When the customer views the invoice on the portal.
- When a draft invoice is validated.
When a draft invoice is validated.
- When the customer views the subscription in the portal.
When the customer views the subscription in the portal.
- When a subscription generates an invoice.
When a subscription generates an invoice.
- When the customer gets to the last screen of the eCommerce checkout.
When the customer gets to the last screen of the eCommerce checkout.

### Manual triggers

- Compute Taxes button at the bottom of the quote.
Compute Taxes button at the bottom of the quote.
- Compute Taxes button at the top of the invoice.
Compute Taxes button at the top of the invoice.
Use each of these buttons to manually re-calculate the sales tax.
Use the Avalara Partner Code field that is available on customer records, quotations,
and invoices to cross-reference data in Odoo and AvaTax. This field is located under the Other info tab of the sales order or quotation in the Sales section.
On the customer record, navigate to Contacts app and select a contact. Then open the Sales & Purchase tab and the Avalara Partner Code under the Sales section.
The Automatic Tax Mapping (AvaTax) fiscal position is also applied on those Odoo
documents, like subscriptions.
- Fiscal positions (tax and account mapping)
Fiscal positions (tax and account mapping)

## AvaTax synchronization

Synchronization occurs with AvaTax, when the invoice is created in Odoo. This means the sales tax
is recorded with Avalara (AvaTax software developer).
To do so, navigate to Sales app â£ Orders â£ Quotations . Select a quotation from
the list.
After confirming a quotation and validating the delivery, click Create Invoice . Indicate
whether it is a Regular invoice , Down payment (percentage) , or Down payment (fixed amount) .
Then click Create and view invoice . The recorded taxes can be seen in the Journal Items tab of the invoice. There will be different taxes depending on the
location of the Delivery Address .
Finally, press the Confirm button to complete the invoice and synchronize with the
AvaTax portal.
An invoice cannot be Reset to draft because this causes de-synchronization with the
AvaTax Portal. Instead, click Add credit note and state: Sync with AvaTax Portal .
See this documentation: Credit notes and refunds .
`SyncwithAvaTaxPortal`

## Fixed price discounts

Add a fixed price discount to a valuable customer, by clicking Add a line on the
customerâs invoice. Add the product discount, and set the Price to either a positive or
negative value. To recalculate the taxes, click Compute Taxes .
Tax calculation can even be done on negative subtotals and credit notes.

## Logging

It is possible to log Avalara/ AvaTax actions in Odoo for further analysis, or verification of
functionality. Logging is accessible through the AvaTax settings.
To start logging AvaTax actions, first, navigate to the Accounting app â£
Configuration â£ Settings .
Then, in the Taxes section, under the AvaTax settings, click Start logging for 30 minutes .
Upon starting the log process, Odoo will log all Avalara/ AvaTax actions performed in the database.
To view the logs, click on Show logs to the right of the Start logging for 30
minutes . This reveals a detailed list of Avalara/ AvaTax actions. This list is sortable by the
following columns:
- Created on : timestamp of the AvaTax calculation.
Created on : timestamp of the AvaTax calculation.
- Created by : numeric value of the user in the database.
Created by : numeric value of the user in the database.
- Database name : name of the database.
Database name : name of the database.
- Type : two values can be chosen for this field, Server or Client .
Type : two values can be chosen for this field, Server or Client .
- Name : Avalara service name. In this case, it will be AvaTax .
Name : Avalara service name. In this case, it will be AvaTax .
- Level : by default, this will be INFO .
Level : by default, this will be INFO .
`INFO`
- Path : indicates the path taken to make the calculation.
Path : indicates the path taken to make the calculation.
- Line : indicates the line the calculation is made on.
Line : indicates the line the calculation is made on.
- Function : indicates the calculation taken on the line.
Function : indicates the calculation taken on the line.
Click into the log line to reveal another field, called Message .
This field populates a raw transcription of the transaction, which involves the creation (or
adjustment) of a sales invoice using the Avalara AvaTax API.
The transaction includes details, such as addresses for shipping from and to, line items describing
the products or services, tax codes, tax amounts, and other relevant information.
The Message contains the calculated taxes for different jurisdictions and confirms the
creation (or adjustment) of the transaction.
Custom fields can be made using Odoo Studio . Click the (ellipsis) menu to the far-right of the header row. Then click Add custom field . This action opens Odoo Studio .
Odoo Studio requires a custom pricing plan. Consult the databaseâs customer success manager
for more information on switching plans. Or to see if Odoo Studio is included in the databaseâs
current pricing plan. See this documentation: Studio .
- AvaTax integration
- Avalara (Avatax) portal
Avalara (Avatax) portal
- US Tax Compliance: Avatax elearning video
US Tax Compliance: Avatax elearning video
- Fiscal positions (tax and account mapping)
Fiscal positions (tax and account mapping)

Tax calculation
Automatic triggers
Manual triggers
AvaTax synchronization
Fixed price discounts
Logging


Cash basis taxes

# Cash basis taxes

Cash basis taxes are due when the payment is made, as opposed to standard taxes that are due when
the invoice is confirmed. Reporting your income and expenses to the government based on the cash
basis method is mandatory in some countries and under some conditions.
You sell a product in the 1st quarter of your fiscal year, and the payment is received in the 2nd
quarter. Based on the cash basis method, the tax you must pay is for the 2nd quarter.

## Configuration

Go to Accounting â£ Configuration â£ Settings and under the Taxes section, enable Cash Basis .
Then, define the Tax Cash Basis Journal . Click on the external link button next to the
journal to update its default properties such as the Journal Name , Type or Short Code .
By default, the journal entries of the Cash Basis Taxes journal are named using the CABA short code.
Once this is done, go to Accounting â£ Configuration â£ Accounting: Taxes to
configure your taxes. You can either Create a new tax or update an existing one by
clicking on it.
The Account column reflects the proper transitional accounts to post taxes until the
payment is registered.
In the Advanced Options tab, decide of the Tax Exigilibity . Select Based on Payment , so the tax is due when the payment of the invoice is received. You can
then also define the Cash Basis Transition Account where the tax amount is recorded as
long as the original invoice has not been reconciled.

## Impact of cash basis taxes on accounting

To illustrate the impact of cash basis taxes on accounting transactions, letâs take an example with
the sales of a product that costs 1,000$, with a cash basis tax of 15%.
The following entries are created in your accounting, and the tax report is currently empty.
Customer journal (INV)
Temporary tax account $150
When the payment is then received, it is registered as below :
Once the payment is registered, you can use the Cash Basis Entries smart button on
the invoice to access them directly.
Finally, upon reconciliation of the invoice with the payment, the below entry is automatically
created:
Tax Cash Basis Journal (Caba)
Income account $1,000
Temporary tax account $150
Income account $1,000
The journal items Income account vs. Income account are neutral, but they
are needed to ensure correct tax reports in Odoo with accurate base tax amounts.
Using a default Base Tax Received Account is recommended so your balance is at zero and
your income account is not polluted by unnecessary accounting movements. To do so, go to Configuration â£ Settings â£ Taxes , and select a Base Tax Received Account under Cash Basis .


EU intra-community distance selling

# EU intra-community distance selling

EU intra-community distance selling involves the cross-border trade of goods and services from
vendors registered for VAT purposes to individuals (B2C) located in a European Union member state.
The transaction is conducted remotely, typically through online platforms, mail orders, telephone,
or other means of communication.
EU intra-community distance selling is subject to specific VAT rules and regulations. The vendor
must charge VAT per the VAT rate applicable in the buyerâs country.
This remains applicable even if the vendor is located outside of the European Union.

## Configuration

The EU Intra-community Distance Selling feature helps you comply with this regulation by
creating and configuring new fiscal positions and taxes based on your companyâs country. To
enable it, go to Accounting â£ Configuration â£ Settings â£ Taxes , tick EU Intra-community Distance Selling , and Save .
Whenever you add or modify taxes, you can automatically update your fiscal positions. To do so,
go to Accounting/Invoicing â£ Settings â£ Taxes â£ EU Intra-community Distance
Selling and click on the Refresh tax mapping .
We highly recommend checking that the proposed mapping is suitable for the products and services
you sell before using it.
- Fiscal localizations
- Fiscal positions (tax and account mapping)
Fiscal positions (tax and account mapping)

## One-Stop Shop (OSS)

The OSS system introduced by the European Union simplifies VAT collection
for cross-border sales of goods and services. It primarily applies to business-to-consumer (B2C) cases. With the OSS, businesses can register for VAT in their home country and use a
single online portal to handle VAT obligations for their sales within the EU. There are two
primary schemes : the Union OSS scheme for cross-border services and the Import OSS scheme
for goods valued at or below â¬150.

### Reports

To generate OSS sales or OSS imports reports and submit them onto the OSS portal, go to Accounting â£ Reporting â£ Tax Report , click Report: Generic Tax
report , and select either OSS Sales or OSS Imports . Once selected, click on PDF , XLSX , or XML in the top-left corner. This generates the
currently-opened report in the selected format. Once generated, log into the platform of your
competent federal authority to submit it onto the OSS portal.
- European Commission: OSS | Taxation and Customs Union
European Commission: OSS | Taxation and Customs Union

Configuration
One-Stop Shop (OSS)
Reports


# Fiscal positions (tax and account mapping)

Default taxes and accounts are set on products and customers to create new transactions on the fly.
However, depending on the customersâ and providersâ localization and business type, using different
taxes and accounts for a transaction might be necessary.
Fiscal positions allow the creation of rules to adapt the taxes and accounts used for a
transaction automatically.
They can be applied automatically , manually , or assigned to a partner .
Several default fiscal positions are available as part of your fiscal localization
package .

## Configuration

### Tax and account mapping

To edit or create a fiscal position, go to Accounting â£ Configuration â£ Fiscal
Positions , and open the entry to modify or click on New .
The mapping of taxes and accounts is based on the default taxes and accounts defined in the
product form.
- To map to another tax or account, fill out the right column ( Tax to Apply / Account to Use Instead ).
To map to another tax or account, fill out the right column ( Tax to Apply / Account to Use Instead ).
- To remove a tax, leave the field Tax to Apply empty.
To remove a tax, leave the field Tax to Apply empty.
- To replace a tax with several other taxes, add multiple lines using the same Tax on
Product .
To replace a tax with several other taxes, add multiple lines using the same Tax on
Product .
The mapping only works with active taxes. Therefore, make sure they are active by going to Accounting â£ Configuration â£ Taxes .

## Application

### Automatic application

To automatically apply a fiscal position following a set of conditions, go to Accounting â£ Configuration â£ Fiscal Positions , open the fiscal position to
modify, and tick Detect Automatically .
From there, several conditions can be activated:
- VAT Required : the customerâs VAT number must be present on their contact form.
VAT Required : the customerâs VAT number must be present on their contact form.
- Country Group and Country : the fiscal position is only applied to the
selected country or country group.
Country Group and Country : the fiscal position is only applied to the
selected country or country group.
- If the Verify VAT Numbers feature is enabled, any fiscal positions
with VAT required enabled will require Intra-Community valid VAT numbers to apply
automatically.
If the Verify VAT Numbers feature is enabled, any fiscal positions
with VAT required enabled will require Intra-Community valid VAT numbers to apply
automatically.
- Taxes on eCommerce orders are automatically updated once the customer has logged in or
filled out their billing details.
Taxes on eCommerce orders are automatically updated once the customer has logged in or
filled out their billing details.
The fiscal positionsâ sequence defines which fiscal position is applied if all conditions
set on multiple fiscal positions are met simultaneously.
For example, suppose the first fiscal position in a sequence targets country A while the second
fiscal position targets a country group that comprises country A . In that case, only the
first fiscal position will be applied to customers from country A .

### Manual application

To manually select a fiscal position, open a sales order, invoice, or bill, go to the Other Info tab and select the desired Fiscal Position before adding product
lines.

### Assign to a partner

To define which fiscal position must be used by default for a specific partner, go to Accounting â£ Customers â£ Customers , select the partner, open the Sales & Purchase tab, and select the Fiscal Position .
- B2B (tax excluded) and B2C (tax included) pricing
B2B (tax excluded) and B2C (tax included) pricing

Configuration
Tax and account mapping
Application
Automatic application
Manual application
Assign to a partner


Withholding taxes

# Withholding taxes

A withholding tax , also known as retention tax, mandates the payer of a customer invoice to
deduct a tax from the payment and remit it to the government. Typically, a tax is included in the
subtotal to calculate the total amount paid, while withholding taxes are directly subtracted from
the payment.

## Configuration

In Odoo, a withholding tax is defined by creating a negative tax. To create one, go
to Accounting â£ Configuration â£ Taxes and, in the Amount field,
enter a negative amount.
Then, go to the Advanced Options tab and create a retention Tax Group .
If the retention is a percentage of a regular tax, create a Tax with a Tax Computation as a Group of Taxes . Then, set both the regular tax and
the retention one in the Definition tab.

## Retention taxes on invoices

Once the retention tax has been created, it can be used on customer forms, sales orders, and
customer invoices.
Several taxes can be applied on a single customer invoice line.

Configuration
Retention taxes on invoices


Tax computation

# Tax computation

## Tax computation

The Tax Computation field determines the relation between the tax amount and the base
the tax is based on. The following options are available:
- Group of Taxes : a combination of several other taxes
Group of Taxes : a combination of several other taxes
- Fixed : a fixed amount
Fixed : a fixed amount
- Percentage of Price : a percentage of the
tax-excluded sales price
Percentage of Price : a percentage of the
tax-excluded sales price
- Percentage of Price Tax Included : a
percentage of the tax-included total
Percentage of Price Tax Included : a
percentage of the tax-included total
- Custom Formula : a custom, user-defined formula
Custom Formula : a custom, user-defined formula

### Group of taxes

The tax is a combination of multiple sub-taxes. You can add as many taxes as you want, in the order
you want them to be applied.
Make sure the tax sequence is correct, as the display order determines the application order and
may affect tax computation, particularly if a tax affects the base of subsequent taxes .

### Fixed

The tax has a fixed amount in the default currency. The amount remains the same per unit,
regardless of the sales price.
The computation is \(\text{tax amount} = \text{fixed tax amount} \times \text{quantity}\) .
A product has a sales price of $1000, and we apply a $10 Fixed tax. We then have:

### Percentage of price

The tax rate is a percentage of the tax-excluded subtotal.
The exact tax computation depends on the Included in Price field,
which determines whether the tax amount is included in the sales price.
If Included in Price is Tax Excluded , the computation is \(\text{tax amount} = \text{sales price} \times \text{tax rate}\) .
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax that is Tax Excluded . We then have:
If Included in Price is Tax Included , the computation is \(\text{tax amount} = \text{sales price} \times \frac{\text{tax rate}}{1 +
\text{tax rate}}\) .
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax that is Tax Included . We then have:

### Percentage of price tax included

This tax computation is rarely used and only useful in countries (e.g., Brazil, Bolivia) that
quote tax rates as a percentage of the tax-included total.
For the more common need to compute tax amounts from a tax-included price, use the Percentage of Price tax computation with Included in Price set to Tax Included .
The tax rate is a percentage of the tax-included total.
The exact tax computation depends on the Included in Price field,
which determines whether the tax amount is included in the sales price.
If Included in Price is set to Tax Excluded , the computation is \(\text{tax amount} = \text{sales price} \times \frac{\text{tax rate}}{1 -
\text{tax rate}}\) .
A product has a sales price of $1000, and we apply a 10% Percentage of Price
Tax Included tax that is Tax Excluded . We then have:
Note that the real tax rate in terms of the tax-excluded price is \(\frac{111.11}{1000} = 11.111\%\) .
If Included in Price is set to Tax Included , the computation is \(\text{tax amount} = \text{sales price} \times \text{tax rate}\) .
A product has a sales price of $1000, and we apply a 10% Percentage of Price Tax Included tax that is Tax Included .
We then have:
Note that the real tax rate in terms of the tax-excluded price is \(\frac{100}{900} = 11.111\%\) .

### Custom formula

If a tax can be expressed as a multiple of the quantity of the product to which it applies, it
can be defined as a Fixed tax. Doing so is strongly recommended
over defining a Custom Formula tax.
To use Custom Formula taxes, install the Define
Taxes as Python Code ( account_python_tax ) module.
`account_python_tax`
For a Custom Formula tax, the tax amount is computed according to a Python expression
defined in the Formula field. The Python expression may contain the following tokens:
- any of the following variables: price_unit : the unit price of the product base : the taxable basis on which the tax is applied - may differ from the price_unit if
other taxes are applied first quantity : the quantity of the product product : the product record - product fields can also be accessed
any of the following variables:
- price_unit : the unit price of the product
price_unit : the unit price of the product
`price_unit`
- base : the taxable basis on which the tax is applied - may differ from the price_unit if
other taxes are applied first
base : the taxable basis on which the tax is applied - may differ from the price_unit if
other taxes are applied first
`base`
`price_unit`
- quantity : the quantity of the product
quantity : the quantity of the product
`quantity`
- product : the product record - product fields can also be accessed
product : the product record - product fields can also be accessed
`product`
- integers and floating-point numbers
integers and floating-point numbers
- the following permitted tokens: ( , ) , + , - , * , / , , , < , > , <= , >= , and , or , None , min , and max
the following permitted tokens: ( , ) , + , - , * , / , , , < , > , <= , >= , and , or , None , min , and max
`(`
`)`
`+`
`-`
`*`
`/`
`,`
`<`
`>`
`<=`
`>=`
`and`
`or`
`None`
`min`
`max`
A product has a sales price of $1000, and we apply a Custom Formula tax with a Formula of min(base, 500) * 0.10 + max(base - 500, 0) * 0.20
`min(base,500)*0.10+max(base-500,0)*0.20`

## Included in price

To set a company-wide default for this setting, go to Accounting â£
Configuration â£ Settings , find the Taxes section, and set the Prices setting to Tax Excluded or Tax Included . This setting cannot be changed
once invoices have been created.
Default indicates that the tax follows the company-wide default.
Tax Excluded indicates that the tax amount is not included in the sales price. The tax
computation will therefore compute a tax amount on top of the sales price.
Tax Included indicates that the tax amount is included in the sales price. The tax
computation will therefore split the sales price into a tax-excluded base and the tax amount. This
makes it suitable for B2C sales in most countries, where prices are quoted tax-inclusive.
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax
with Included in Price set to Tax Included . We then have:
For a guide on configuring tax-excluded and tax-included prices for B2B and B2C customers,
see B2B (tax excluded) and B2C (tax included) pricing .

## Affect base of subsequent taxes

This setting controls how multiple taxes on a product line affect each other.
If this setting is enabled, this taxâs tax amount is included in the base of any subsequent tax
applied on the same product line that has its Base affected by preceding taxes setting enabled. As such,
the subsequent taxâs base is the sum of the tax-excluded base and this taxâs tax amount.
If Affect base of subsequent taxes is enabled and Included in Price is
set to Tax Excluded , subsequent taxes with the Base affected by
preceding taxes setting enabled will be based on a modified sales price equal to the original
sales price plus the tax amount.
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax where the Included in Price setting is set to Tax Excluded and
the Affect base of subsequent taxes setting is enabled. Any subsequent tax with
its Base affected by preceding taxes will be based on a modified sales price of
$1100.
If Affect base of subsequent taxes is enabled and Included in Price is
set to Tax Included , subsequent taxes with the Base affected by
preceding taxes setting enabled will be based on the original sales price.
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax where the Included in Price setting is set to Tax Included and
the Affect base of subsequent taxes setting is enabled. Any subsequent tax with
its Base affected by preceding taxes will be based on the original sales price
of $1000.
If this setting is disabled, the tax amount will not be included in the base of any subsequent tax
applied on the same product line.
If Affect base of subsequent taxes is disabled and Included in Price is set to Tax Excluded , subsequent taxes with the Base affected by
preceding taxes setting enabled will be based on the original sales price.
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax where the Included in Price setting is set to Tax Excluded and
the Affect base of subsequent taxes setting is enabled. Any subsequent tax with
its Base affected by preceding taxes will be based on the original sales price
of $1000.
If Affect base of subsequent taxes is disabled and Included in Price is set to Tax Included , subsequent taxes with the Base affected by
preceding taxes setting enabled will be based on a modified sales price equal to the original
sales price minus the tax amount.
A product has a sales price of $1000, and we apply a 10% Percentage of Price tax where the Included in Price setting is set to Tax Included and
the Affect base of subsequent taxes setting is enabled. Any subsequent tax with
its Base affected by preceding taxes will be based on a modified sales price of
$909.09.
This setting is considered any time multiple taxes are applied to the same product line, whether
via a group of taxes or multiple taxes added directly to a product line.
The order in which taxes are applied depends only on the order in which they appear in the Taxes list, not on the order in which they are added to a product line.
To modify the order, go to Accounting â£ Configuration â£ Taxes , and drag and
drop taxes using the handles to the left of the tax names.
Regardless of the order in the Taxes list, Tax Excluded taxes do not
affect the base of subsequent Tax Included taxes (see the note in Base affected by preceding taxes ).
In the following example:
- the Ecotax is a Fixed tax of â¬0.90 per unit, with the Affect base of
subsequent taxes setting enabled.
the Ecotax is a Fixed tax of â¬0.90 per unit, with the Affect base of
subsequent taxes setting enabled.
- The 21% VAT tax is a 21% Percentage of Price tax with the Base affected
by preceding taxes setting enabled.
The 21% VAT tax is a 21% Percentage of Price tax with the Base affected
by preceding taxes setting enabled.
- In the Taxes list, the 21% VAT tax comes after the Ecotax, as shown in the
configuration above.
In the Taxes list, the 21% VAT tax comes after the Ecotax, as shown in the
configuration above.
When applying both taxes to a product line, the Ecotax amount is added to the basis of the 21%
VAT tax.

## Base affected by preceding taxes

This setting, which is only visible in developer mode ,
determines whether any previous tax that affects the base of subsequent taxes will modify the sales price that this tax is based on.
Taxes with Included in Price set to Tax Included do
not have this setting. Such taxes are never affected by previous Tax Excluded taxes,
except if they have the Fixed tax computation type.

Tax computation
Group of taxes
Fixed
Percentage of price
Percentage of price tax included
Custom formula
Included in price
Affect base of subsequent taxes
Base affected by preceding taxes


VAT numbers verification (VIES)

# VAT numbers verification (VIES)

VAT Information Exchange System , or VIES , is a tool provided by the European Commission that allows you to check the validity of VAT
numbers for companies registered in the European Union.
Odooâs VAT Validation feature uses the VIES to verify your contactsâ VAT numbers directly from
Odooâs interface.
Regardless of whether or not the Verify VAT Numbers feature is enabled, Odoo checks the format of
a contactâs VAT against the expected format of VAT numbers from that country.

## VIES VAT number verification

To activate this feature, go to Accounting â£ Configuration â£ Settings . In the Taxes section, enable the Verify VAT Numbers feature, and click on Save .
Once the Verify VAT Numbers feature is enabled, if the contactâs Tax ID field is populated and its country is different from your companyâs country, Odoo displays an Intra-Community Valid checkbox. Odoo tests the VAT number through the VIES and
automatically checks or unchecks the Intra-Community Valid checkbox depending on the
validity of the VAT number.
It is possible to manually override the Intra-Community Valid field on a contact in
case the automatic VIES check is incorrect (for example, if the company was recently created and
its VAT is not yet in the VIES). This change is logged in the chatter for transparency.
Odoo can automatically apply fiscal positions . If the Verify VAT
Numbers feature is enabled, any fiscal positions with VAT required enabled will require
Intra-Community valid VAT numbers to apply automatically.


Vendor bills

# Vendor bills

Vendor bills can be registered either manually or automatically in Odoo. The Aged Payable report provides an overview of all
outstanding bills to help ensure timely payment of the correct amounts.
- Tutorial Registering a vendor bill
Tutorial Registering a vendor bill
- Manage vendor bills
- Credit notes and refunds
Credit notes and refunds

## Bill creation

### Manually

To create a vendor bill manually, go to Accounting â£ Vendors â£ Bills and
click New .
Alternatively, it is possible to create a vendor bill from the Accounting dashboard:
- either click New on the Vendor Bills journal;
either click New on the Vendor Bills journal;
- or click the (vertical ellipsis) icon of the Vendor Bills journal, then Bill under the New section.
or click the (vertical ellipsis) icon of the Vendor Bills journal, then Bill under the New section.

### Automatically

Vendor bills can be automatically created by sending an email to an email alias associated with the purchase journal, or by uploading a PDF .
- Once the bill is uploaded, the PDF document appears on the right side of the screen, making it
easy to fill in the bill information.
Once the bill is uploaded, the PDF document appears on the right side of the screen, making it
easy to fill in the bill information.
- Bills can be digitized for automatic
completion and matched with purchase orders to replace OCR-detected data with the
existing purchase orderâs details.
Bills can be digitized for automatic
completion and matched with purchase orders to replace OCR-detected data with the
existing purchase orderâs details.
- Services such as digitizing scanned or PDF vendor bills in Odoo require In-App
Purchase (IAP) credits.
Services such as digitizing scanned or PDF vendor bills in Odoo require In-App
Purchase (IAP) credits.
To automatically post bills from selected vendors, go to Accounting â£ Vendors â£
Vendors and select the relevant vendor. In the Accounting tab, under the Automation section, update the Auto-post bills field  with one of the
following options:
- Always
- Ask after 3 validations without edits
Ask after 3 validations without edits
Vendor bills matching with purchase orders

## Bill completion

Whether the bill is created manually or automatically, make sure the following fields are
appropriately completed:
- Vendor : Odoo automatically fills in some information based on the information on the
vendorâs contact record as well as previous purchase orders and bills.
Vendor : Odoo automatically fills in some information based on the information on the
vendorâs contact record as well as previous purchase orders and bills.
- Bill Reference : Add the sales order reference provided by the vendor. This field is
used to match the products when they are received.
Bill Reference : Add the sales order reference provided by the vendor. This field is
used to match the products when they are received.
- Auto-Complete : Select a past bill/purchase order to complete the document
automatically. The Vendor field should be completed before completing this field.
Auto-Complete : Select a past bill/purchase order to complete the document
automatically. The Vendor field should be completed before completing this field.
- Bill Date : Select the documentâs issuance date.
Bill Date : Select the documentâs issuance date.
- Accounting Date : Update the documentâs accounting registration date if needed.
Accounting Date : Update the documentâs accounting registration date if needed.
- Payment Reference : The Memo field automatically includes the payment
reference once the payment is registered.
Payment Reference : The Memo field automatically includes the payment
reference once the payment is registered.
- Recipient Bank : Indicates the account number to which the payment will be made. This
field is required when paying via batch payment files (such as NACHA and SEPA ).
Recipient Bank : Indicates the account number to which the payment will be made. This
field is required when paying via batch payment files (such as NACHA and SEPA ).
- Due Date or Payment Terms must be specified for the bill payment.
Due Date or Payment Terms must be specified for the bill payment.
- Journal : Select which journal should record the bill and in which currency .
Journal : Select which journal should record the bill and in which currency .
In the Invoice Lines tab:
- Product : Click Add a line , then search for and select the product.
Product : Click Add a line , then search for and select the product.
- Quantity
- Taxes (if applicable)
Taxes (if applicable)
If the bill line does not correspond to an existing product in the database, click the (bars) icon to enter a description for the bill line without
linking it to a product.
To access the product catalog and view all items in an organized display, click Catalog .
When the products and quantities are selected, click Back to Bill to return to the
vendor bill; the selected catalog items will appear in the vendor bill lines.
Multiple bills for the same purchase order may be issued if the vendor is on back-order and sends
invoices as products are shipped or if the vendor sends partial bills or requests a deposit. In
this case, multiple bills may have the same Bill Reference .

## Bill confirmation

Click Confirm when the document is completed. The status changes to Posted ,
and a journal entry is generated based on the vendor bill information. On confirmation, Odoo assigns
each vendor bill a unique number from a defined sequence .
Once confirmed, a vendor bill can no longer be updated. Click Reset to draft if
changes are required.

## Payment and reconciliation

To register a payment, click on Pay . In the Pay window, select the Journal , the Payment Method , the Amount , and the Currency .
When the Amount paid is less than the total remaining amount on the vendor bill, the
payment is partial , and the Payment
Difference field displays the outstanding balance.
The Memo field is filled automatically if the Payment Reference has been set
correctly on the vendor bill. If the field is empty, select the vendor invoice number as a
reference.
Then click Create payment . An In Payment / Partial banner appears
on the bill until it is reconciled and its status updates to Paid .
- Payments
- Bank reconciliation

## Aged payable report

To get an overview of the open vendor bills and their due dates, go to Accounting
â£ Reporting â£ Aged payable .
Click the (right arrow) icon next to a vendor to view the details
of all their outstanding bills, including the due dates and amounts.
Click PDF or XLSX to generate a PDF or XLSX file, respectively.

Bill creation
Manually
Automatically
Bill completion
Bill confirmation
Payment and reconciliation
Aged payable report


Non-current assets and fixed assets

# Non-current assets and fixed assets

Non-current Assets , also known as long-term assets , are investments that are expected to be
realized after one year. They are capitalized rather than being expensed and appear on the companyâs
balance sheet. Depending on their nature, they may undergo depreciation .
Fixed Assets are a type of Non-current Assets and include the properties bought for their
productive aspects, such as buildings, vehicles, equipment, land, and software.
For example, letâs say we buy a car for $ 27,000. We plan to amortize it over five years, and we
will sell it for $ 7,000 afterward. Using the linear, or straight-line, depreciation method,
$ 4,000 are expensed each year as depreciation expenses . After five years, the Accumulated
Depreciation amount reported on the balance sheet equals $ 20,000, leaving us with $ 7,000 of Not Depreciable Value , or Salvage value.
Odoo Accounting handles depreciation by creating all depreciation entries automatically in draft
mode . They are then posted periodically.
Odoo supports the following Depreciation Methods :
- Straight Line
- Declining
- Declining Then Straight Line
Declining Then Straight Line
The server checks once a day if an entry must be posted. It might then take up to 24 hours before
you see a change from draft to posted .

## Prerequisites

Such transactions must be posted on an Assets Account rather than on the default
expense account.

### Configure an Assets Account

To configure your account in the Chart of Accounts , go to Accounting â£
Configuration â£ Chart of Accounts , click on Create , and fill out the form.
This accountâs type must be either Fixed Assets or Non-current Assets .

### Post an expense to the right account

#### Select the account on a draft bill

On a draft bill, select the right account for all the assets you are buying.

#### Choose a different Expense Account for specific products

Start editing the product, go to the Accounting tab, select the right Expense Account , and
save.
It is possible to automate the creation of assets entries for these
products.

#### Change the account of a posted journal item

To do so, open your Purchases Journal by going to Accounting â£ Accounting â£
Purchases , select the journal item you want to modify, click on the account, and select the right
one.

## Assets entries

### Create a new entry

An Asset entry automatically generates all journal entries in draft mode . They are then posted
one by one at the right time.
To create a new entry, go to Accounting â£ Accounting â£ Assets , click on Create , and fill out the form.
Click on select related purchases to link an existing journal item to this new entry. Some
fields are then automatically filled out, and the journal item is now listed under the Related
Purchase tab.
Once done, you can click on Compute Depreciation (next to the Confirm button) to generate all
the values of the Depreciation Board . This board shows you all the entries that Odoo will post
to depreciate your asset, and at which date.

#### What does âProrata Temporisâ mean?

The Prorata Temporis feature is useful to depreciate your assets the most accurately possible.
With this feature, the first entry on the Depreciation Board is computed based on the time left
between the Prorata Date and the First Depreciation Date rather than the default amount of time
between depreciations.
For example, the Depreciation Board above has its first depreciation with an amount of $ 241.10
rather than $ 4,000.00. Consequently, the last entry is also lower and has an amount of $ 3758.90.

#### What are the different Depreciation Methods

The Straight Line Depreciation Method divides the initial Depreciable Value by the number of
depreciations planned. All depreciation entries have the same amount.
The Declining Depreciation Method multiplies the Depreciable Value by the Declining Factor for each entry. Each depreciation entry has a lower amount than the previous entry. The last
depreciation entry doesnât use the declining factor but instead has an amount corresponding to the
balance of the depreciable value so that it reaches $0 by the end of the specified duration.
The Declining Then Straight Line Depreciation Method uses the Declining Method, but with a
minimum Depreciation equal to the Straight Line Method. This method ensures a fast depreciation
at the beginning, followed by a constant one afterward.

### Assets from the Purchases Journal

You can create an asset entry from a specific journal item in your Purchases Journal .
To do so, open your Purchases Journal by going to Accounting â£ Accounting â£
Purchases , and select the journal item you want to record as an asset. Make sure that it is posted
in the right account (see: Change the account of a posted journal item ).
Then, click on Action , select Create Asset , and fill out the form the same way you would do to create a new entry .

## Modification of an Asset

You can modify the values of an asset to increase or decrease its value.
To do so, open the asset you want to modify, and click on Modify Depreciation . Then, fill out the
form with the new depreciation values and click on Modify .
A decrease in value posts a new Journal Entry for the Value Decrease and modifies all the
future unposted Journal Entries listed in the Depreciation Board.
An increase in value requires you to fill out additional fields related to the account movements
and creates a new Asset entry with the Value Increase . The Gross Increase Asset Entry can be
accessed with a Smart Button.

## Disposal of Fixed Assets

To sell an asset or dispose of it implies that it must be removed from the Balance Sheet.
To do so, open the asset you want to dispose of, click on Sell or Dispose , and fill out the form.
Odoo Accounting then generates all the journal entries necessary to dispose of the asset, including
the gain or loss on sale, which is based on the difference between the assetâs book value at the
time of the sale and the amount it is sold for.
To record the sale of an asset, you must first post the related Customer Invoice so you can link
the sale of the asset with it.

## Assets Models

You can create Assets Models to create your Asset entries faster. It is particularly useful if
you recurrently buy the same kind of assets.
To create a model, go to Accounting â£ Configuration â£ Assets Models , click on Create , and fill out the form the same way you would do to create a new entry.
You can also convert a confirmed Asset entry into a model by opening it from Accounting â£ Accounting â£ Assets and then, by clicking on the button Save
Model .

### Apply an Asset Model to a new entry

When you create a new Asset entry,  fill out the Fixed Asset Account with the right asset
account.
New buttons with all the models linked to that account appear at the top of the form. Clicking on a
model button fills out the form according to that model.

## Automate the Assets

When you create or edit an account of which the type is either Non-current Assets or Fixed
Assets , you can configure it to create assets for the expenses that are credited on it
automatically.
You have three choices for the Automate Assets field:
- No: this is the default value. Nothing happens.
No: this is the default value. Nothing happens.
- Create in draft: whenever a transaction is posted on the account, a draft Assets entry is
created, but not validated. You must first fill out the form in Accounting â£
Accounting â£ Assets .
Create in draft: whenever a transaction is posted on the account, a draft Assets entry is
created, but not validated. You must first fill out the form in Accounting â£
Accounting â£ Assets .
- Create and validate: you must also select an Asset Model (see: Assets Models ). Whenever a
transaction is posted on the account, an Assets entry is created and immediately validated.
Create and validate: you must also select an Asset Model (see: Assets Models ). Whenever a
transaction is posted on the account, an Assets entry is created and immediately validated.
You can, for example, select this account as the default Expense Account of a product to
fully automate its purchase. (see: Choose a different Expense Account for specific products ).
- Chart of accounts

Prerequisites
Configure an Assets Account
Post an expense to the right account
Assets entries
Create a new entry
Assets from the Purchases Journal
Modification of an Asset
Disposal of Fixed Assets
Assets Models
Apply an Asset Model to a new entry
Automate the Assets


Deferred expenses

# Deferred expenses

Deferred expenses and prepayments (also known as prepaid expenses ) are both costs that
have already occurred for products or services yet to be received.
Such costs are assets for the company that pays them since it already paid for products and
services but has either not yet received them or not yet used them. The company cannot report them
on the current profit and loss statement , or income statement , since the payments will be
effectively expensed in the future.
These future expenses must be deferred on the companyâs balance sheet until the moment in time they
can be recognized , at once or over a defined period, on the profit and loss statement.
For example, letâs say we pay $1200 at once for one year of insurance. We already pay the cost now
but havenât used the service yet. Therefore, we post this new expense in a prepayment account and
decide to recognize it on a monthly basis. Each month, for the next 12 months, $100 will be
recognized as an expense.
Odoo Accounting handles deferred expenses by spreading them across multiple entries that are
posted periodically.
The server checks once a day if an entry must be posted. It might then take up to 24 hours before
you see a change from Draft to Posted .

## Configuration

Make sure the default settings are correctly configured for your business. To do so, go to Accounting â£ Configuration â£ Settings . The following options are available:
The deferral entries are posted in this journal.
Expenses are deferred on this Current Asset account until they are recognized.
By default, Odoo automatically generates the deferral entries when you post a vendor bill. However, you can also choose to generate them manually by selecting the Manually & Grouped option instead.
Suppose a bill of $1200 must be deferred over 12 months.
- The Months option accounts for $100 each month prorated to the number of days in
that month (e.g., $50 for the first month if the Start Date is set to the 15th of
the month).
The Months option accounts for $100 each month prorated to the number of days in
that month (e.g., $50 for the first month if the Start Date is set to the 15th of
the month).
- The Full Months option considers each month started to be full (e.g., $100 for the
first month even if the Start Date is set to the 15th of the month); this means that
with the Full Months option, a full $100 is recognized in the first partial month,
eliminating the need for a 13th month to recognize any remainder as would be the case when using
the Months option.
The Full Months option considers each month started to be full (e.g., $100 for the
first month even if the Start Date is set to the 15th of the month); this means that
with the Full Months option, a full $100 is recognized in the first partial month,
eliminating the need for a 13th month to recognize any remainder as would be the case when using
the Months option.
- The Days option accounts for different amounts depending on the number of days in
each month (e.g., ~$102 for January and ~$92 for February).
The Days option accounts for different amounts depending on the number of days in
each month (e.g., ~$102 for January and ~$92 for February).

## Generate deferral entries on validation

Make sure the Start Date and End Date fields are visible in the Invoice Lines tab. In most cases, the Start Date should be in the same
month as the Bill Date . Deferred expense entries are posted from the bill date and
are displayed in the report accordingly.
For each line of the bill that should be deferred, specify the start and end dates of the deferral
period.
If the Generate Entries field is set to On invoice/bill validation , Odoo
automatically generates the deferral entries when the bill is validated. Click on the Deferred Entries smart button to see them.
One entry, dated on the same day as the billâs accounting date, moves the bill amounts from the
expense account to the deferred account. The other entries are deferral entries which will, month
after month, move the bill amounts from the deferred account to the expense account to recognize
the expense.
You can defer a January bill of $1200 over 12 months by specifying a start date of 01/01/2023
and an end date of 12/31/2023. At the end of August, $800 is recognized as an expense,
whereas $400 remains on the deferred account.

## Reporting

The deferred expense report computes an overview of the necessary deferral entries for each account.
To access it, go to Accounting â£ Reporting â£ Deferred Expense .
To view the journal items of each account, click on the account name and then Journal
Items .
Only bills whose accounting date is before the end of the period of the report
are taken into account.

## Generate grouped deferral entries manually

If you have a lot of deferred revenues and wish to reduce the number of journal entries created, you
can generate deferral entries manually. To do so, set the Generate Entries field in the Settings to Manually & Grouped . Odoo then aggregates the deferred amounts in a
single entry.
At the end of each month, go to the Deferred Expenses report and click the Generate Entries button. This generates two deferral entries:
- One dated at the end of the month which aggregates, for each account, all the deferred amounts
of that month. This means that at the end of that period, a part of the deferred expense is
recognized.
One dated at the end of the month which aggregates, for each account, all the deferred amounts
of that month. This means that at the end of that period, a part of the deferred expense is
recognized.
- The reversal of this created entry, dated on the following day (i.e., the first day of the
next month) to cancel the previous entry.
The reversal of this created entry, dated on the following day (i.e., the first day of the
next month) to cancel the previous entry.
- Bill A: $1200 to be deferred from 01/01/2023 to 12/31/2023
Bill A: $1200 to be deferred from 01/01/2023 to 12/31/2023
- Bill B: $600 to be deferred from 01/01/2023 to 12/31/2023
Bill B: $600 to be deferred from 01/01/2023 to 12/31/2023
At the end of January, after clicking the Generate Entries button,
there are the following entries:
- Entry 1 dated on the 31st January: Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills) Line 2: Expense account 100 + 50 = 150 (recognizing 1/12 of bill A and bill B) Line 3: Deferred account 1800 - 150 = 1650 (amount that has yet to be deferred later
on)
Entry 1 dated on the 31st January:
- Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills)
Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills)
- Line 2: Expense account 100 + 50 = 150 (recognizing 1/12 of bill A and bill B)
Line 2: Expense account 100 + 50 = 150 (recognizing 1/12 of bill A and bill B)
- Line 3: Deferred account 1800 - 150 = 1650 (amount that has yet to be deferred later
on)
Line 3: Deferred account 1800 - 150 = 1650 (amount that has yet to be deferred later
on)
- Entry 2 dated on the 1st February, the reversal of the previous entry: Line 1: Expense account 1800 Line 2: Deferred account -150 Line 3: Expense account -1650
Entry 2 dated on the 1st February, the reversal of the previous entry:
- Line 1: Expense account 1800
Line 1: Expense account 1800
- Line 2: Deferred account -150
Line 2: Deferred account -150
- Line 3: Expense account -1650
Line 3: Expense account -1650
At the end of February, after clicking the Generate Entries button,
there are the following entries:
- Entry 1 dated on the 28th February: Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills) Line 2: Expense account 200 + 100 = 300 (recognizing 2/12 of bill A and bill B) Line 3: Deferred account 1800 - 300 = 1500 (amount that has yet to be deferred later
on)
Entry 1 dated on the 28th February:
- Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills)
Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills)
- Line 2: Expense account 200 + 100 = 300 (recognizing 2/12 of bill A and bill B)
Line 2: Expense account 200 + 100 = 300 (recognizing 2/12 of bill A and bill B)
- Line 3: Deferred account 1800 - 300 = 1500 (amount that has yet to be deferred later
on)
Line 3: Deferred account 1800 - 300 = 1500 (amount that has yet to be deferred later
on)
- Entry 2 dated on the 1st March, the reversal of the previous entry.
Entry 2 dated on the 1st March, the reversal of the previous entry.
The same computation is done for each month until October.
At the end of November, after clicking the Generate Entries button,
there are the following entries:
- Entry 1 dated on the 30th November: Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills) Line 2: Expense account 1100 + 550 = 1650 (recognizing 11/12 of bill A and bill B) Line 3: Deferred account 1800 - 1650 = 150 (amount that has yet to be deferred later
on)
Entry 1 dated on the 30th November:
- Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills)
Line 1: Expense account -1200 -600 = -1800 (cancelling the total of both bills)
- Line 2: Expense account 1100 + 550 = 1650 (recognizing 11/12 of bill A and bill B)
Line 2: Expense account 1100 + 550 = 1650 (recognizing 11/12 of bill A and bill B)
- Line 3: Deferred account 1800 - 1650 = 150 (amount that has yet to be deferred later
on)
Line 3: Deferred account 1800 - 1650 = 150 (amount that has yet to be deferred later
on)
- Entry 2 dated on the 1st December, the reversal of the previous entry.
Entry 2 dated on the 1st December, the reversal of the previous entry.
There is no need to generate entries in December. Indeed, if we do the computation for
December, we will have an amount of 0 to be deferred.
If we aggregate everything, we would have:
- bill A and bill B
- two entries (one for the deferral and one for the reversal) for each month from January to
November
two entries (one for the deferral and one for the reversal) for each month from January to
November
Therefore, at the end of December, bills A and B are fully recognized as expense only once in
spite of all the created entries thanks to the reversal mechanism.


Document digitization

# Document digitization

Document digitization refers to the process of converting paper or digital documents into records
in a database. Using OCR and artificial intelligence
technologies, Odoo reads the content and automatically creates and fills in the recordâs details.
This process is mainly used for vendor bills (or refunds).
Although less common, this digitization process can also be applied to customer invoices and
credit notes. The settings need to be
adjusted accordingly.
- Test Odooâs invoice digitization
Test Odooâs invoice digitization
- Odoo Tutorials: Vendor Bill Digitization
Odoo Tutorials: Vendor Bill Digitization
- In-app purchases (IAP)
In-app purchases (IAP)

## Configuration

Go to Accounting â£ Configuration â£ Settings and navigate to the Digitization section. Enable the Document Digitization option and choose
whether Vendor Bills should be processed automatically or on demand.
If the Single Invoice Line Per Tax option is enabled, only one line is created per
tax in the new vendor bill, regardless of the number of lines on it.

## Vendor bills upload

Vendor bills are uploaded manually or sent to a designated email alias to be digitized. They can
also be automatically posted for selected
vendors.
Once the bill is uploaded, the document preview appears on the right side of the screen.

### Manual upload

In the Accounting dashboard, drag and drop vendor bills into the desired purchase journal or click Upload on the purchase journal.

### Upload via email alias

Vendor bills can be uploaded via an email alias associated with the relevant journal in two ways:
- scanned from a connected scanner configured to send email to an email alias;
scanned from a connected scanner configured to send email to an email alias;
- sent directly to an email alias.
sent directly to an email alias.
Each PDF attached to the email is automatically converted into a new draft vendor bill.
- Only PDF and XML formats are processed via an email alias associated with a journal.
Only PDF and XML formats are processed via an email alias associated with a journal.
- JPEG files must be processed via email alias in the Documents app .
JPEG files must be processed via email alias in the Documents app .
To add an email alias to a journal, follow these steps:
- Make sure an alias domain has been
configured.
Make sure an alias domain has been
configured.
- The default email alias vendor-bills@ followed by the alias domain is automatically created
and available in the Advanced Settings tab of the Vendor Bills journal.
The default email alias vendor-bills@ followed by the alias domain is automatically created
and available in the Advanced Settings tab of the Vendor Bills journal.
`vendor-bills@`
- To change a default email alias, go to Accounting â£ Configuration â£
Journals , select the corresponding journal, and edit the Email Alias in the Advanced Settings tab.
To change a default email alias, go to Accounting â£ Configuration â£
Journals , select the corresponding journal, and edit the Email Alias in the Advanced Settings tab.
- Configure the connected scanner to send scanned documents to the email alias, if needed.
Configure the connected scanner to send scanned documents to the email alias, if needed.
Alternatively, an email alias in the Documents app can be used
to automatically send vendor bills to the Finance folder (e.g., inbox-financial@example.odoo.com ).
`inbox-financial@example.odoo.com`

### Automatic vendor bill posting

To use the Auto-post bills option, the Digitize automatically setting in
the Document Digitization section must be
enabled for vendor bills.
To automatically post digitized vendor bills for specific vendors, go to Accounting
â£ Vendors â£ Vendors and click the desired vendor. In the Accounting tab of the
contact form, select an Auto-post bills option in the Automation section:
- Always
- Ask after 3 validations without edits : When the third uploaded bill is confirmed
without any edits, an Autopost Bills window appears. The following options can be
chosen: Activate auto-validation , Ask me later , or Never for
this vendor .
Ask after 3 validations without edits : When the third uploaded bill is confirmed
without any edits, an Autopost Bills window appears. The following options can be
chosen: Activate auto-validation , Ask me later , or Never for
this vendor .
Since automation is triggered after three validated bills without edits, the contact name must
already exist in the database, and each uploaded vendor bill must include a bill date.

## Digitization and data recognition with AI

Depending on the settings , documents are either
automatically digitized or require manual processing if digitization is set to on-demand only.
To manually digitize an uploaded document , click Digitize document .
Once the document has been digitized, a blue banner appears; click Refresh . Review and correct any information uploaded during digitization: click on the
related field(s) to edit them, or click Reload AI data to refresh the data.
Then, click Confirm to post the document.
Once a document has been digitized, the Vendor field remains empty if the vendor
doesnât exist in the database. To add it, click the (down arrow) in the Vendor field; the vendor name appears highlighted in the document preview on
the right. Click it to open a new vendor form with the name pre-filled.
The following vendor bill fields are recognized by OCR:
- Vendor , Bill Reference , Bill Date , Payment
Reference (only in the Belgian +++xxx/xxxx/xxxxx+++ format), Recipient Bank , Due Date , and the currency (in a multi-currency environment and if the currency is activated).
Vendor , Bill Reference , Bill Date , Payment
Reference (only in the Belgian +++xxx/xxxx/xxxxx+++ format), Recipient Bank , Due Date , and the currency (in a multi-currency environment and if the currency is activated).
- From the Invoices Lines tab: Product description/label, Quantity , unit Price , Taxes (if the tax is activated ; this field is not recognized by OCR for the Indian
localization ), Untaxed Amount , and Total .
From the Invoices Lines tab: Product description/label, Quantity , unit Price , Taxes (if the tax is activated ; this field is not recognized by OCR for the Indian
localization ), Untaxed Amount , and Total .

## Purchase order matching

When a digitized vendor bill is recognized by OCR , Odoo
searches the database for a matching purchase order. If found, the vendor bill can be manually
matched with the existing open purchase order lines.
Once a vendor bill has been uploaded and digitized , click the Purchase
matching smart button to access the Purchase matching list view, displaying all
purchase order lines linked to the vendor assigned to the vendor bill. Then, select the relevant
purchase order lines and the draft vendor bill (shown in grey), and click Match .
In the Purchase Matching list view, update the Quantity and Price in the purchase order lines, if necessary.
If there is no existing purchase order related to the vendor of the uploaded vendor bill, a new
purchase order can be directly created from the vendor bill lines. To do so, follow these steps:
- Once the vendor bill is uploaded, make sure the Vendor field is filled in with the
correct vendor.
Once the vendor bill is uploaded, make sure the Vendor field is filled in with the
correct vendor.
- Click the Purchase matching smart button, select the draft vendor bill in the list
(shown in grey), and click Add to PO .
Click the Purchase matching smart button, select the draft vendor bill in the list
(shown in grey), and click Add to PO .
- In the Add to Purchase Order window, start typing in the Purchase Order field and select Create and edit .
In the Add to Purchase Order window, start typing in the Purchase Order field and select Create and edit .
- In the Create Purchase Order window, select the vendor assigned to the vendor bill,
then complete all required fields and click Confirm .
In the Create Purchase Order window, select the vendor assigned to the vendor bill,
then complete all required fields and click Confirm .
- In the Purchase Matching list view, select the relevant purchase order lines and the
draft vendor bill (shown in grey), and click Match .
In the Purchase Matching list view, select the relevant purchase order lines and the
draft vendor bill (shown in grey), and click Match .
If any information required for the purchase order fields is missing, click Save and
Close in the Create Purchase Order window. Then, open the Purchase app to fill in
the fields and confirm the purchase order .
- Electronic vendor bills with embedded XML ensure more accurate and efficient processing.
Electronic vendor bills with embedded XML ensure more accurate and efficient processing.
- Alternatively, the Auto-complete feature
can transfer information from the purchase order to the vendor bill, without requiring OCR.
Alternatively, the Auto-complete feature
can transfer information from the purchase order to the vendor bill, without requiring OCR.

## Pricing

The document digitization feature is an In-App Purchase (IAP) service requiring prepaid credits.
Digitizing one document uses one credit.
To buy credits, go to the Settings app or Accounting â£
Configuration â£ Settings , navigate to the Digitization section, and click Buy credits .
- Odoo Enterprise users with a valid subscription get free credits to test IAP features before
purchasing more credits for the database. This includes demo/training databases, educational
databases, and one-app-free databases.
Odoo Enterprise users with a valid subscription get free credits to test IAP features before
purchasing more credits for the database. This includes demo/training databases, educational
databases, and one-app-free databases.
- XML files donât require OCR credits because they contain structured data that can be processed
directly, without OCR.
XML files donât require OCR credits because they contain structured data that can be processed
directly, without OCR.
- Odoo In-App Purchase Privacy Policy
Odoo In-App Purchase Privacy Policy
- In-app purchases (IAP)
In-app purchases (IAP)


Vendor bill sequence

# Vendor bill sequence

When confirming a vendor bill, Odoo generates a unique vendor bill reference number. By default, it
uses the sequence format BILL/year/month/incrementing-number (e.g., BILL/2025/01/00001 ), which
restarts from 00001 each year.
`BILL/year/month/incrementing-number`
`BILL/2025/01/00001`
`00001`
However, it is possible to change the sequence format and its periodicity, and to mass-resequence vendor bills .
Changes made to reference numbers are logged in the chatter.

## Changing the default sequence

To customize the default sequence, open the last confirmed vendor bill, click Reset to
Draft , and edit the vendor billâs reference number.
Odoo then explains how the detected format will be applied to all future vendor bills. For example,
if the current vendor billâs month is withdrawn, the sequenceâs periodicity will change to every
year instead of every month.
The sequence format can be edited directly when creating the first vendor bill of a given
sequence period.

## Mass-resequencing vendor bills

It can be helpful to resequence multiple vendor bill numbers. For example, when importing vendor
bills from another accounting system and the reference originates from the previous software,
continuity for the current year must be maintained without restarting from the beginning.
This feature is only available to users with administrator or advisor access.
Follow these steps to resequence vendor bill numbers:
- Activate the developer mode .
Activate the developer mode .
- In the vendor bills list view, select the vendor bills that need a new sequence.
In the vendor bills list view, select the vendor bills that need a new sequence.
- Click the Actions menu and select Resequence .
Click the Actions menu and select Resequence .
- In the Ordering field, choose to Keep current order : The order of the numbers remains the same. Reorder by accounting date : The number is reordered by accounting date.
In the Ordering field, choose to
- Keep current order : The order of the numbers remains the same.
Keep current order : The order of the numbers remains the same.
- Reorder by accounting date : The number is reordered by accounting date.
Reorder by accounting date : The number is reordered by accounting date.
- Set the First New Sequence .
Set the First New Sequence .
- Preview Modifications and click Confirm .
Preview Modifications and click Confirm .
- To indicate where the sequence change began, the first vendor bill in the new sequence is
highlighted in red in the Vendor Bills list. This visual marker is permanent
and purely informational.
To indicate where the sequence change began, the first vendor bill in the new sequence is
highlighted in red in the Vendor Bills list. This visual marker is permanent
and purely informational.
- If there are any irregularities in the new sequence, such as gaps, cancelled, or deleted
entries within the open period, a Gaps in the sequence message appears in the Vendor Bills journal on the Accounting dashboard. To view more details about the
related vendor bill(s), click Gaps in the sequence . This visual marker is temporary
and will disappear once the entryâs accounting date is on or after the lock date.
If there are any irregularities in the new sequence, such as gaps, cancelled, or deleted
entries within the open period, a Gaps in the sequence message appears in the Vendor Bills journal on the Accounting dashboard. To view more details about the
related vendor bill(s), click Gaps in the sequence . This visual marker is temporary
and will disappear once the entryâs accounting date is on or after the lock date.
Resequencing is not possible:
- When entries are before a lock date.
When entries are before a lock date.
- When the sequence leads to a duplicate.
When the sequence leads to a duplicate.
- When the range is invalid. For example, if the Bill Date doesnât align with the
date in the new sequence, such as using a 2024 sequence (BILL/2024/MM/XXXX) for an vendor bill
dated in 2025.
When the range is invalid. For example, if the Bill Date doesnât align with the
date in the new sequence, such as using a 2024 sequence (BILL/2024/MM/XXXX) for an vendor bill
dated in 2025.
In these cases, a Validation Error message appears.

Changing the default sequence
Mass-resequencing vendor bills


Approve expenses

# Approve expenses

In Odoo, most users cannot approve expense reports; only users with the necessary access rights or
permissions can. This means that a user must have at least Team Approver rights for the Expenses app. Employees with the necessary rights can review expense reports, approve or refuse
them, and provide feedback with an integrated Refuse Expense communication tool.
Please refer to the access rights documentation to learn more
about managing users and their access rights.

## View expense reports

Users who are able to approve expense reports (typically managers) have an Expense
Reports main navigation button at the top of the Expenses app. This allows managers to view all
expense reports they have access rights for. Navigate to Expenses app â£ Expense
Reports , to view the All Reports dashboard.
A list of all expense reports with a status of either To Submit , Submitted , Approved , Posted , or Done appears. Expense reports with a status
of Refused are hidden, by default.

## Approve expense reports

Expense reports can be approved in two ways: individually or in
bulk .
Only reports with a status of Submitted can be approved.
It is recommended to display only Submitted reports by ticking the checkbox beside
the Submitted filter, in the left column, under the Status section.
If a report is not able to be approved, the Approve Report button does not appear on the All Reports page.

### Approve individual reports

To approve an individual report, navigate to Expenses app â£ Expense Reports , and
click on an individual report to view the detailed report form.
From here, several options are presented: Approve , Refuse , and Reset to draft . Click Approve to approve the report.

### Approve multiple reports

To approve multiple expense reports at once, first navigate to Expenses app â£
Expense Reports to view a list of expense reports. Next, select the reports to approve by ticking
the checkbox next to each report being approved, or tick the checkbox next to the Employee column title to select all the reports in the list.
Next, click the Approve Report button.
Team managers can view all the expense reports for their team members only. While on the All Reports page, click the (down arrow) to the
right of the search bar, then click My Team in the Filters section. This presents all the reports for only the managerâs team.

## Refuse expense reports

Expense reports can only be refused on the individual expense report, and not from the All Reports dashboard. To open an individual expense report, navigate to Expenses app â£ Expense Reports , then click on an individual expense report to
view the detailed expense report form.
If more information is needed, such as a missing receipt, communicate any necessary information
requests in the chatter of the report form. On the individual expense report, click either Send message or Log note to open a message text box.
Type in a message, tagging the proper people, and post it to the chatter by clicking Send or Log , depending on the method of communication. The message is posted
in the chatter, and the tagged people are notified via email.
The only people that can be tagged in a message are followers of the specific report. To see
who is a follower, click the (Show Followers) icon to display the
followers of the expense report.
To refuse an expense report, click Refuse , and a Refuse Expense pop-up
window loads. Enter a brief explanation for the refusal on the Reason line, then click Refuse .
Once the expense report is refused, the status changes to Refused , and the only button
that appears is Reset to Draft .

View expense reports
Approve expense reports
Approve individual reports
Approve multiple reports
Refuse expense reports


Expense categories

# Expense categories

Odoo Expenses streamlines the management of expenses. After an employee logs their
expenses and submits their expense report in Odoo, expenses are reviewed by management and accounting teams.
Once approved , payments can be processed and disbursed
back to the employee for reimbursement.
Odoo Expenses: product page

## View expense categories

The first step to track expenses is configuring the different types of expenses for the company
(managed as expense categories in Odoo). Each category can be as specific or generalized as
needed. Additionally, expense categories can be configured to repay expenses at either a set price
or allow for specific prices to be reported.
To view the default expense categories, navigate to Expenses app â£ Configuration
â£ Expense Categories .
The default expense categories allow creating expenses for common expenses, including communication
costs, meals, gifts, miles driven, and other travel expenses. For expenses outside these default
categories, the general expenses category, EXP_GEN , is used. If a company has specific
expenses it commonly reimburses, and wants to track them separately, new expense categories
can be made or existing expense categories can be modified.

## Create new expense categories

Some companies require more expense categories than the Expenses app includes. For these
situations, new expense categories can be created.
A company that trains car mechanics allows its technicians to purchase $500 worth of tools in a
year. In this situation, the company creates a new category called TOOLS to track all tool
expenses.
`TOOLS`
To create a new expense category, navigate to Expenses app â£ Configuration â£
Expense Categories . Click New , and a new expense category form loads.
Expense categories are managed like products in Odoo. The expense category form follows the
standard product form in Odoo, and the information entered is similar. Expense products are
referred to as expense categories throughout this document since the main menu refers to these
as Expense Categories .
Enter the following fields on the form:
- Product Name : Enter a name for the category that is short and informative.
Product Name : Enter a name for the category that is short and informative.
- Cost : If employees can report the actual cost of an expense, and are reimbursed
the reported amount, leave the field set to 0.00 . If the expense should always be reimbursed
for a specific price, enter the amount in this field. If a price is entered, a per field appears with Unit populated by default. Unit covers most expense
situations, but if the reimbursement is based on weight, length, volume, etc., choose the
corresponding type of unit using the drop-down menu. Example Here are some examples for when to set a specific Cost on a product vs. leaving the Cost at 0.00 : Meals : If employees are reimbursed for their full meal cost, set the Cost to 0.00 . When an employee logs an expense for a meal, they enter the actual amount of the bill
and are reimbursed for that amount. An expense for a meal costing $95.23 would equal a
reimbursement of $95.23. Mileage : If employees receive a flat rate for each mile they drive, set the Cost to 1.00 . When an employee logs an expense for the miles driven, they enter
the number of miles driven in the Quantity field, and are reimbursed $1.00 per
mile they reported. An expense for 100 miles would equal a reimbursement of $100.00. Per Diem : If employees receive a daily flat rate of $125.00 when traveling, set the Cost to 125.00 . An expense for three days of per diem costs (meals,
incidentals, taxi fare, etc.) would equal a reimbursement of $375.00. Note The Cost field is always visible on the expense category form, but the Sales Price field is only visible if the Sales Price is selected
under the Re-Invoice Expenses section. Otherwise, the Sales Price field
is hidden.
Cost : If employees can report the actual cost of an expense, and are reimbursed
the reported amount, leave the field set to 0.00 . If the expense should always be reimbursed
for a specific price, enter the amount in this field. If a price is entered, a per field appears with Unit populated by default. Unit covers most expense
situations, but if the reimbursement is based on weight, length, volume, etc., choose the
corresponding type of unit using the drop-down menu.
`0.00`
Here are some examples for when to set a specific Cost on a product vs. leaving the Cost at 0.00 :
`0.00`
- Meals : If employees are reimbursed for their full meal cost, set the Cost to 0.00 . When an employee logs an expense for a meal, they enter the actual amount of the bill
and are reimbursed for that amount. An expense for a meal costing $95.23 would equal a
reimbursement of $95.23.
Meals : If employees are reimbursed for their full meal cost, set the Cost to 0.00 . When an employee logs an expense for a meal, they enter the actual amount of the bill
and are reimbursed for that amount. An expense for a meal costing $95.23 would equal a
reimbursement of $95.23.
`0.00`
- Mileage : If employees receive a flat rate for each mile they drive, set the Cost to 1.00 . When an employee logs an expense for the miles driven, they enter
the number of miles driven in the Quantity field, and are reimbursed $1.00 per
mile they reported. An expense for 100 miles would equal a reimbursement of $100.00.
Mileage : If employees receive a flat rate for each mile they drive, set the Cost to 1.00 . When an employee logs an expense for the miles driven, they enter
the number of miles driven in the Quantity field, and are reimbursed $1.00 per
mile they reported. An expense for 100 miles would equal a reimbursement of $100.00.
`1.00`
- Per Diem : If employees receive a daily flat rate of $125.00 when traveling, set the Cost to 125.00 . An expense for three days of per diem costs (meals,
incidentals, taxi fare, etc.) would equal a reimbursement of $375.00.
Per Diem : If employees receive a daily flat rate of $125.00 when traveling, set the Cost to 125.00 . An expense for three days of per diem costs (meals,
incidentals, taxi fare, etc.) would equal a reimbursement of $375.00.
`125.00`
The Cost field is always visible on the expense category form, but the Sales Price field is only visible if the Sales Price is selected
under the Re-Invoice Expenses section. Otherwise, the Sales Price field
is hidden.
- Reference : Enter a short reference for the expense, such as FOOD or TRAVEL . This
reference is used when emailing expenses .
Reference : Enter a short reference for the expense, such as FOOD or TRAVEL . This
reference is used when emailing expenses .
`FOOD`
`TRAVEL`
- Category : Using the drop-down menu, select the category the expense falls under. It is
recommended to use the default category All / Expenses , but another category can be selected if
the accounting department requires it.
Category : Using the drop-down menu, select the category the expense falls under. It is
recommended to use the default category All / Expenses , but another category can be selected if
the accounting department requires it.
`All/Expenses`
- Company : If in a multi-company database, select the company the expense category
applies to. If the expense category applies to all companies, leave this field blank.
Company : If in a multi-company database, select the company the expense category
applies to. If the expense category applies to all companies, leave this field blank.
- Guideline : Enter some rules or important information for the expense category. This is
visible in the Note column on the Expense Category dashboard. Example An expense category for expenses related to working from home may have a Name of WFH , and the Guideline may say Monitors, Chairs, & Other Home Working Costs .
Guideline : Enter some rules or important information for the expense category. This is
visible in the Note column on the Expense Category dashboard.
An expense category for expenses related to working from home may have a Name of WFH , and the Guideline may say Monitors, Chairs, & Other Home Working Costs .
`WFH`
`Monitors,Chairs,&OtherHomeWorkingCosts`
- Expense Account : If using the Odoo Accounting app, select the CoA the expense should be logged on. Important Check with the accounting department to determine the correct account to reference in this
field as it affects various reports.
Expense Account : If using the Odoo Accounting app, select the CoA the expense should be logged on.
Check with the accounting department to determine the correct account to reference in this
field as it affects various reports.
- Purchase Taxes and Sales Taxes : Enter the default taxes that are applied
when purchasing or selling this product, if applicable. Note The Sales Taxes field is only visible if the Sales app is installed, and
either the At cost or Sales Price options are selected in the invoicing section . Tip It is considered good practice to use a tax that is configured with Tax Included in Price . Taxes are automatically configured if these are set.
Purchase Taxes and Sales Taxes : Enter the default taxes that are applied
when purchasing or selling this product, if applicable.
The Sales Taxes field is only visible if the Sales app is installed, and
either the At cost or Sales Price options are selected in the invoicing section .
It is considered good practice to use a tax that is configured with Tax Included in Price . Taxes are automatically configured if these are set.

### Invoicing section

If the Sales app is installed, an invoicing section is visible. This section allows the expense
to be reinvoiced to customers on sales orders.
If the expense cannot be reinvoiced, enable the No option. If the expense category can be reinvoiced, enable either of these options:
- At cost : Select this option to have the expense item reinvoiced at the price set in
the Cost field.
At cost : Select this option to have the expense item reinvoiced at the price set in
the Cost field.
- Sales Price : Select this option to have the expense item reinvoiced at the sales
price. When enabled, a Sales Price field appears beneath the Product Name field. Enter the sales price in the new field.
Sales Price : Select this option to have the expense item reinvoiced at the sales
price. When enabled, a Sales Price field appears beneath the Product Name field. Enter the sales price in the new field.
A heating and cooling company offers at-home repairs on the furnaces and central air units it
sells. Their technicians are sub-contracted, and use their own vans, tools, and parts.
As part of their contracts, technicians are reimbursed for their travel. They receive $1.00 for
every mile they drive. Additionally, the customer must pay for the travel as part of their
service contract. The customer pays $1.50 for every mile the technician drives to their location.
To configure this expense, the Sales Price is set to 1.50 and the Cost is set to 1.00 .
`1.50`
`1.00`

View expense categories
Create new expense categories
Invoicing section