Kenya

# Kenya

## Configuration

Install the ð°ðª Kenyan fiscal localization package to get
all the features of the Kenyan localization.

## eTIMS

The Kenya Revenue Authority (KRA) has implemented the electronic Tax Invoice Management System (eTIMS) for tax collection.
To submit documents through eTIMS, you must use an OSCU that
integrates with the existing Trader Invoicing System (TIS) , such as the one provided by Odoo.
The OSCU is used to validate, encrypt, sign, transmit, and store tax invoices.
Make sure to install the Kenya eTIMS EDI modules to use the OSCU
device fully.

### OSCU device initialization

The OSCU must be initialized before use. To do so, navigate to Settings â£ General
Settings , click Update Info in the Companies section, and enter your Tax ID .
To initialize the OSCU:
- Go to Settings â£ General Settings and scroll down to the Kenya
eTIMS Integration section.
Go to Settings â£ General Settings and scroll down to the Kenya
eTIMS Integration section.
- Set the eTIMS Server Mode to Test for the initialization.
Set the eTIMS Server Mode to Test for the initialization.
- Enter the Serial Number of the device and tick the two check boxes.
Enter the Serial Number of the device and tick the two check boxes.
- Click Initialize OSCU .
Click Initialize OSCU .
Three server modes are available:
- Demo : Designed for demo purposes; it uses mock data and does not require an
initialized OSCU;
Demo : Designed for demo purposes; it uses mock data and does not require an
initialized OSCU;
- Test : Used to test the connection to eTIMS;
Test : Used to test the connection to eTIMS;
- Production : Used for live databases that are ready to send data.
Production : Used for live databases that are ready to send data.
If your device has already been initialized (through another ERP, for example), enable the Developer mode (debug mode) . Then, in the Kenya eTIMS Integration section,
enter the ID of the unit in the Unit ID field and the key obtained through a previous
initialization in the CMC Key field. Click Save when done.
Once the OSCU module has been initialized , an OSCU serial number
is generated for each company on that database with its country set to Kenya . The
serial number is generated based on the VAT number of the company (regardless of its validity). It
is a unique and sequential serial number starting with the prefix ODOO followed by the companyâs VAT number and a sequence of numbers.
`ODOO`

### Registering on eTIMS

Taxpayers must sign up and create an account on the KRA portal .
If you do not have an account yet:
- Sign up, enter your PIN , and verify that all information is correct, including your phone
number, email address, and postal address. Correct any errors on the iTax page .
Sign up, enter your PIN , and verify that all information is correct, including your phone
number, email address, and postal address. Correct any errors on the iTax page .
- An OTP is sent to the phone number provided. Unblock promotional
messages if you do not receive it.
An OTP is sent to the phone number provided. Unblock promotional
messages if you do not receive it.
- Upload the business owner ID or directorâs ID (as listed on iTax), along with the
filled-out and signed commitment form .
Upload the business owner ID or directorâs ID (as listed on iTax), along with the
filled-out and signed commitment form .
- On the eTIMS dashboard , click Service request at the top of the page. Select OSCU as the eTIMS type , enter Odoo KE LTD as the third-party integrator, and
enter your companyâs OSCU serial number retrieved earlier.
On the eTIMS dashboard , click Service request at the top of the page. Select OSCU as the eTIMS type , enter Odoo KE LTD as the third-party integrator, and
enter your companyâs OSCU serial number retrieved earlier.
`OdooKELTD`
Service request approvals are usually quick. If thereâs a delay, contact the eTIMS operation
or KRA office.
- Part 1: Fill in the taxpayerâs information.
Part 1: Fill in the taxpayerâs information.
- Part 2: Fill in the business ownerâs or directorâs information.
Part 2: Fill in the business ownerâs or directorâs information.
- Part 3: Fill in your unique serial number found in Odoo.
Part 3: Fill in your unique serial number found in Odoo.
- Part 4: Tick OSCU , enter Odoo KE LTD PIN PO52112956W , and enter the Odoo version youâre
using (17.0 or onwards).
Part 4: Tick OSCU , enter Odoo KE LTD PIN PO52112956W , and enter the Odoo version youâre
using (17.0 or onwards).
`PO52112956W`
- Part 5: Check the mandatory boxes, enter a date, and sign.
Part 5: Check the mandatory boxes, enter a date, and sign.

### eTIMS codes

Common standard codes are automatically fetched from the KRA eTIMS API servers every two days.
To fetch them manually, proceed as follows:
- Enable the Developer mode (debug mode) .
Enable the Developer mode (debug mode) .
- Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Fetch KRA standard codes .
Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Fetch KRA standard codes .
- Click the action in the list, then click Run Manually to fetch the codes.
Click the action in the list, then click Run Manually to fetch the codes.
Go to Accounting â£ Configuration â£ KE OSCU Codes to view the complete list of
fetched OSCU codes.

### UNSPSC codes

The KRA needs UNSPSC codes for a product to be registered . UNSPSC codes are automatically fetched from the KRA eTIMS API servers every day. To fetch them manually, proceed as follows:
- Enable the Developer mode (debug mode) .
Enable the Developer mode (debug mode) .
- Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Fetch UNSPSC codes from eTIMS .
Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Fetch UNSPSC codes from eTIMS .
- Click the action in the list, then click Run Manually to fetch the codes.
Click the action in the list, then click Run Manually to fetch the codes.
Go to the product form , and in the Accounting tab, click the UNSPSC
Category field to view the complete list of fetched UNSPSC codes.

### Notices

Notices are automatically fetched from the KRA eTIMS API servers every day. To fetch them manually , proceed as follows:
- Enable the Developer mode (debug mode) .
Enable the Developer mode (debug mode) .
- Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Fetch KRA notices from eTIMS .
Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Fetch KRA notices from eTIMS .
- Click the action in the list, then click Run Manually to fetch the notices.
Click the action in the list, then click Run Manually to fetch the notices.
Go to Accounting â£ Configuration â£ KE OSCU Notices to view the complete list of
fetched notices.

### Multi-company

If you have multiple companies , you can centralize and manage them
all on a single Odoo database. The KRA identifies and differentiates the parent company from
its subsidiaries by using IDs. Furthermore, subsidiaries are classified as branches of the parent company.
To configure the companyâs ID, open the Settings app, click Update Info in the Companies section, and search for the eTIMS Branch Code field. The parent
company has a branch ID equal to 00 in a multi-company environment. Companies that are not the
parent company have a branch ID other than 00 and are assigned an ID by the KRA.
`00`
`00`
To fetch the branch ID from the KRA for your non-parent companies, ensure the parent company has
a Kenyan Tax ID and the OSCU device has been initialized .
Then, go to the Branches tab and click Populate from KRA .
- The KRA considers each place of supply as a separate branch (ID).
The KRA considers each place of supply as a separate branch (ID).
- The OSCU device must be initialized independently for each
branch.
The OSCU device must be initialized independently for each
branch.

### Contact branch ID

To attribute a branch ID to a contact, access the contact form, go to the Accounting tab, and enter the branch code in the eTIMS Branch Code field.
By default, contactsâ branch IDs are set to OO .
`OO`

### KRA sequences

Odoo invoice sequences and KRA sequences are different .
In Odoo, invoice sequences depend on the parent company . Parent companies can see the invoices
of branches, but branches cannot see the parent companyâs invoices or those of other branches.
The KRA needs independent sequences per branch. Therefore, Odoo manages sequences individually
per branch.
If you have a parent company with two branches, the invoice sequence would be the following:
- Creating an invoice on branch 1 : INV/2024/00001;
Creating an invoice on branch 1 : INV/2024/00001;
- Creating an invoice on branch 2 : INV/2024/00002;
Creating an invoice on branch 2 : INV/2024/00002;
- Creating an invoice on the parent company : INV/2024/00003.
Creating an invoice on the parent company : INV/2024/00003.
This is how Odoo manages sequences to be compliant with the KRA regulations:
- Creating an invoice on branch 1 : INV/2024/00001;
Creating an invoice on branch 1 : INV/2024/00001;
- Creating an invoice on branch 2 : INV/2024/00001;
Creating an invoice on branch 2 : INV/2024/00001;
- Creating an invoice on the parent company : INV/2024/00001.
Creating an invoice on the parent company : INV/2024/00001.

## Insurance

For health service providers , you can send insurance information about the parent and branch
companies and update it in eTIMS. To do so, go to Accounting â£ Configuration â£
Settings , scroll to the Kenya eTIMS Integration section, and fill in the Code , Name , and Rate fields. Click Send Insurance
Details when done.

## Product registration

The KRA requires products to be registered first before conducting business operations (such as
stock movements, BOM , customer invoices, etc.). For a product to be
registered, the following fields must be defined on the product form:
- In the General Information tab: Cost .
In the General Information tab: Cost .
- In the Accounting tab: Packaging Unit ; Packaging Quantity ; Origin Country ; eTIMS Product Type ; Insurance Applicable ; UNSPSC Category .
In the Accounting tab:
- Packaging Unit ;
- Packaging Quantity ;
- Origin Country ;
- eTIMS Product Type ;
- Insurance Applicable ;
Insurance Applicable ;
- UNSPSC Category .
If the elements above are defined, the product is automatically registered while sending the
operation to the KRA. If not, you will be alerted by a yellow banner at the top of the screen
inviting you to check the missing elements.

## Stock movements

All stock movements must be sent to the KRA. They do not require an invoice if they are
internal operations or stock adjustments; therefore, Odoo automatically sends them if at least one
of the following conditions are met:
- No contact is set for the move;
No contact is set for the move;
- The contact is your parent company or a branch of the parent company.
The contact is your parent company or a branch of the parent company.
If the stock moves are external operations (e.g., to contacts that are not part of the parent
company or its branches), the stock moves are automatically sent after the invoice is sent to
eTIMS.
- The stock move must be confirmed before sending the invoice to eTIMS.
The stock move must be confirmed before sending the invoice to eTIMS.
- The product(s) must be registered for the stock move to be
sent to eTIMS. If the product has not been registered yet, a yellow banner will prompt the
productsâ registration.
The product(s) must be registered for the stock move to be
sent to eTIMS. If the product has not been registered yet, a yellow banner will prompt the
productsâ registration.

## Purchases

Odoo automatically fetches new vendor bills from eTIMS every day. You need to confirm the fetched
vendor bills and send the confirmation to the KRA. To confirm a vendor bill, it must be linked to
one or several confirmed purchase order line(s).
In the case of purchases (not customs imports), the steps to link purchase order lines with bills
are the following:
- Go to Accounting â£ Vendors â£ Bills .
The vendor bill is fetched from the KRA servers. The JSON file is available in the chatter of the
vendor bill if needed.
Go to Accounting â£ Vendors â£ Bills .
The vendor bill is fetched from the KRA servers. The JSON file is available in the chatter of the
vendor bill if needed.
- Odoo looks at the Tax ID (PIN) of the vendor (partner); If it is unknown, a new contact (partner) is created. If it is known and the branch ID is the same, Odoo uses the known contact.
Odoo looks at the Tax ID (PIN) of the vendor (partner);
- If it is unknown, a new contact (partner) is created.
If it is unknown, a new contact (partner) is created.
- If it is known and the branch ID is the same, Odoo uses the known contact.
If it is known and the branch ID is the same, Odoo uses the known contact.
- In the fetched bill from the KRA, select the Product . Each vendor bill must contain
a product to be confirmed and sent to eTIMS later on.
In the fetched bill from the KRA, select the Product . Each vendor bill must contain
a product to be confirmed and sent to eTIMS later on.
- Odoo checks existing purchase order lines matching the product(s) entered at the previous step
and the partner (if any). Click the Purchase Order Line field, and select the correct
related purchase order line(s) matching the product(s). The quantities on the bill must be the
same as the received quantities indicated on the purchase order. If no existing purchase order line matches the lines of the fetched bill, click Create Purchase Order and create a purchase order based on the unmatched line(s). Validate the resulting stock move and Confirm the bill.
Odoo checks existing purchase order lines matching the product(s) entered at the previous step
and the partner (if any). Click the Purchase Order Line field, and select the correct
related purchase order line(s) matching the product(s). The quantities on the bill must be the
same as the received quantities indicated on the purchase order.
If no existing purchase order line matches the lines of the fetched bill, click Create Purchase Order and create a purchase order based on the unmatched line(s). Validate the resulting stock move and Confirm the bill.
- Set a method in the eTIMS Payment Method field..
Set a method in the eTIMS Payment Method field..
- Once all steps are completed, click Send to eTIMS to send the vendor bill. When the
vendor bill has been confirmed on eTIMS, the KRA invoice number can be found in the eTIMS Details tab.
Once all steps are completed, click Send to eTIMS to send the vendor bill. When the
vendor bill has been confirmed on eTIMS, the KRA invoice number can be found in the eTIMS Details tab.

## Invoicing

The KRA does not accept sales if the product is not in stock.
This is the advised sales flow in Odoo when selling:
- Create a sales order .
Create a sales order .
- Validate the delivery.
Validate the delivery.
- Confirm the invoice.
- Click Send , and then enable Send to eTIMS .
Click Send , and then enable Send to eTIMS .
- Click Send to send the invoice.
Click Send to send the invoice.
Once the invoice has been sent and signed by the KRA, the following information can be found on
it:
- KRA invoice number ;
- Mandatory KRA invoice fields, such as SCU information , date , SCU ID , receipt
number , item count , internal date , and receipt signature ;
Mandatory KRA invoice fields, such as SCU information , date , SCU ID , receipt
number , item count , internal date , and receipt signature ;
- The KRA tax table ;
- A unique KRA QR code for the signed invoice.
A unique KRA QR code for the signed invoice.

## Imports

Customs import codes are automatically fetched from the KRA eTIMS API servers every day. To
fetch them manually, proceed as follows:
- Enable the Developer mode (debug mode) .
Enable the Developer mode (debug mode) .
- Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Receive Customs Imports from the OSCU .
Go to Settings â£ Technical â£ Automation: Scheduled Actions and search for KE eTIMS: Receive Customs Imports from the OSCU .
- Click the action in the list, then click Run Manually to fetch the codes.
Click the action in the list, then click Run Manually to fetch the codes.
Go to Accounting â£ Vendors â£ Customs Imports to view the imported codes.
The following steps are required to send and have customs imports signed by the KRA:
- Go to Accounting â£ Vendors â£ Customs Imports ; The customs import is fetched
automatically from the KRA.
Go to Accounting â£ Vendors â£ Customs Imports ; The customs import is fetched
automatically from the KRA.
- Match the imported item with an existing registered product in the Product field (or
create a product if no related product exists).
Match the imported item with an existing registered product in the Product field (or
create a product if no related product exists).
- Set a vendor in the Partner field.
Set a vendor in the Partner field.
- Based on the partner, match the imported item with its related purchase order (see purchase steps ). The stock must be correctly adjusted when the customs
import is approved. If no related purchase order exists, create one and Confirm it. Then, confirm the
delivery by clicking Receive Products , then Validate on the purchase
order.
Based on the partner, match the imported item with its related purchase order (see purchase steps ). The stock must be correctly adjusted when the customs
import is approved.
If no related purchase order exists, create one and Confirm it. Then, confirm the
delivery by clicking Receive Products , then Validate on the purchase
order.
- Click Match and Approve or Match and Reject , depending on the
situation of the goods.
Click Match and Approve or Match and Reject , depending on the
situation of the goods.
The JSON file received from the KRA is attached to the chatter of the customs import.

## BOM

The KRA requires all BOMs to be sent to them. To send BOMs to eTIMS, the product and its components must be registered . To access a productâs BOM, click on the
product and then click the Bill of Materials smart button.
Make sure the KRAâs required fields are filled in the KRA eTIMS details section of the Accounting tab in the product form, and
click Send to eTIMS . The successful sending of the BOM is confirmed in the chatter,
where you can also find the sent information in an attached JSON file.

## Credit notes

The KRA does not accept credit notes with quantities or prices higher than the initial invoice. When
creating a credit note, a KRA reason must be indicated: In the credit note form, go to the eTIMS Details tab, select the eTIMS Credit Note Reason , and then select the
invoice number in the Reversal of field.

Configuration
eTIMS
OSCU device initialization
Registering on eTIMS
eTIMS codes
UNSPSC codes
Notices
Multi-company
Contact branch ID
KRA sequences
Insurance
Product registration
Stock movements
Purchases
Invoicing
Imports
BOM
Credit notes


Luxembourg

# Luxembourg

## Modules

The following modules are installed automatically with the Luxembourgish localization:
Luxembourg - Accounting
`l10n_lu`
Default fiscal localization package
Luxembourg - Accounting Reports
`l10n_lu_reports`
Country-specific reports
In some cases, such as when upgrading to a version with additional modules, it is possible that
modules may not be installed automatically. Any missing modules can be manually installed .
Documentation on e-invoicingâs legality and compliance in Luxembourg

## Localization overview

The Luxembourgish localization includes the following features:
- Chart of accounts : a predefined set of accounts that follows the
current official accounting standards (PCN 2020)
Chart of accounts : a predefined set of accounts that follows the
current official accounting standards (PCN 2020)
- Taxes : pre-configured tax rates, including standard (17%),
reduced (14%, 8%, and 3%) and zero-rated VAT, intra-community, and zero-rated export taxes
Taxes : pre-configured tax rates, including standard (17%),
reduced (14%, 8%, and 3%) and zero-rated VAT, intra-community, and zero-rated export taxes
- Fiscal positions (tax and account mapping) : automated account and tax adjustments based on
customer or supplier
Fiscal positions (tax and account mapping) : automated account and tax adjustments based on
customer or supplier
- E-invoicing : E-invoicing with Peppol
E-invoicing : E-invoicing with Peppol
- Tax reporting : detailed overview of your VAT liability, and
generation of monthly and annual VAT declarations in XML format to upload to the eCDF
platform
Tax reporting : detailed overview of your VAT liability, and
generation of monthly and annual VAT declarations in XML format to upload to the eCDF
platform
- FAIA audit file export : generation of audit files in the FAIA (Luxembourgish SAF-T) format
FAIA audit file export : generation of audit files in the FAIA (Luxembourgish SAF-T) format

### Taxes

The following taxes are available by default with the Luxembourgish
localization package:
- standard VAT (17%): applied to most goods and services within Luxembourg
standard VAT (17%): applied to most goods and services within Luxembourg
- reduced VAT (14%, 8%, and 3%): applied to some goods and services within Luxembourg
reduced VAT (14%, 8%, and 3%): applied to some goods and services within Luxembourg
- zero-rated VAT: applied to goods and services not subject to VAT
zero-rated VAT: applied to goods and services not subject to VAT
- intra-community VAT: applied to goods and services sold to or purchased from VAT-registered
persons located in other EU countries
intra-community VAT: applied to goods and services sold to or purchased from VAT-registered
persons located in other EU countries
- export tax (0%): zero-rated tax applied to goods and services exported outside Luxembourg
export tax (0%): zero-rated tax applied to goods and services exported outside Luxembourg

### E-invoicing

Odoo users in Luxembourg can register on the Peppol network, which
allows exchanging e-invoices and credit notes with other participants on the network.
The e-invoice format in Luxembourg is BIS Billing 3.0 .
E-invoicing via Peppol is mandatory for all B2G transactions in Luxembourg.

## Tax reporting

In Luxembourg, companies must submit a VAT declaration on a monthly, quarterly, or annual basis to
the tax office, depending on their turnover. Companies that submit a monthly or quarterly
declaration are also required to submit the annual declaration.
Both monthly/quarterly and annual VAT declarations can be exported as XML files to upload on the eCDF platform .

### Monthly / quarterly declaration

Go to Accounting â£ Reporting â£ Tax Report .
In the Report selector, select Tax Report (LU) .
In the ( Period ) selector, choose the month or quarter for which to
generate the declaration.
Check the amounts generated for all four sections of the report.
If you sold to customers under a VAT exemption for SMEs during the period, you need to manually
enter the value of such sales in the editable fields at section I, items 481 and 482. To find the
amounts for these items, you can use the Partner Ledger report:
- Go to Accounting â£ Reporting â£ Partner Ledger .
Go to Accounting â£ Reporting â£ Partner Ledger .
- In the ( Period ) selector, choose the appropriate month or
quarter.
In the ( Period ) selector, choose the appropriate month or
quarter.
- In the ( Account ) selector, choose Receivable .
In the ( Account ) selector, choose Receivable .
- In the ( Partners ) selector, choose the partners that fall under
the exemption.
In the ( Partners ) selector, choose the partners that fall under
the exemption.
- Copy the total Balance for those partners for the given period.
Copy the total Balance for those partners for the given period.
Once the declaration is correct, click the ( action menu ) icon, then click XML to export and download it in XML format. You can then submit the XML file on the
eCDF platform.

### Annual declaration

#### Account tag configuration

The following configuration allows values to be generated automatically for sections I and III, and
Appendix A of the report, based on journal entries that impact accounts associated with each report
line.
This requires using a different account for
each type of operation subject to VAT, output and input VAT, and expense listed in those sections.
Assign the following account tags to accounts you use for each type
of operation subject to VAT listed in the declaration, if applicable:
- 001 - Supply of inhouse manufactured goods
001 - Supply of inhouse manufactured goods
`001-Supplyofinhousemanufacturedgoods`
- 002 - Supply of goods not manufactured inhouse
002 - Supply of goods not manufactured inhouse
`002-Supplyofgoodsnotmanufacturedinhouse`
- 003 - Net profit margin
003 - Net profit margin
`003-Netprofitmargin`
- 004 - Supply of services
004 - Supply of services
`004-Supplyofservices`
- 005 - Disposal of tangible and intangible capital assets
005 - Disposal of tangible and intangible capital assets
`005-Disposaloftangibleandintangiblecapitalassets`
- 008 - Application of goods for private use or for that of the staff
008 - Application of goods for private use or for that of the staff
`008-Applicationofgoodsforprivateuseorforthatofthestaff`
- 009 - Application for the purpose of business of goods
009 - Application for the purpose of business of goods
`009-Applicationforthepurposeofbusinessofgoods`
- 010 - Use of goods considered business assets
010 - Use of goods considered business assets
`010-Useofgoodsconsideredbusinessassets`
- 011 - Supply of services carried out free of charge
011 - Supply of services carried out free of charge
`011-Supplyofservicescarriedoutfreeofcharge`
- 013 - IC supply of goods
013 - IC supply of goods
`013-ICsupplyofgoods`
- 202 - IC supply of new means of transport
202 - IC supply of new means of transport
`202-ICsupplyofnewmeansoftransport`
- 203 - Supply of goods carried out abroad
203 - Supply of goods carried out abroad
`203-Supplyofgoodscarriedoutabroad`
Assign the following account tags to the accounts you use for each type of output and input VAT, if
applicable:
- 077 - VAT on stock entries invoiced by other taxable persons
077 - VAT on stock entries invoiced by other taxable persons
`077-VATonstockentriesinvoicedbyothertaxablepersons`
- 081 - VAT on capital expenditures invoiced by other taxable persons
081 - VAT on capital expenditures invoiced by other taxable persons
`081-VAToncapitalexpendituresinvoicedbyothertaxablepersons`
- 085 - VAT on operational expenditures invoiced by other taxable persons
085 - VAT on operational expenditures invoiced by other taxable persons
`085-VATonoperationalexpendituresinvoicedbyothertaxablepersons`
- 078 - VAT on stock entries due in respect of IC acquisitions
078 - VAT on stock entries due in respect of IC acquisitions
`078-VATonstockentriesdueinrespectofICacquisitions`
- 082 - VAT on capital expenditures due in respect of IC acquisitions
082 - VAT on capital expenditures due in respect of IC acquisitions
`082-VAToncapitalexpendituresdueinrespectofICacquisitions`
- 086 - VAT on operational expenditures due in respect of IC acquisitions
086 - VAT on operational expenditures due in respect of IC acquisitions
`086-VATonoperationalexpendituresdueinrespectofICacquisitions`
- 079 - VAT on stock entries of importations of goods
079 - VAT on stock entries of importations of goods
`079-VATonstockentriesofimportationsofgoods`
- 083 - VAT on capital expenditures of importations of goods
083 - VAT on capital expenditures of importations of goods
`083-VAToncapitalexpendituresofimportationsofgoods`
- 087 - VAT on operational expenditures of importations of goods
087 - VAT on operational expenditures of importations of goods
`087-VATonoperationalexpendituresofimportationsofgoods`
- 404 - VAT on stock entries due under the reverse charge
404 - VAT on stock entries due under the reverse charge
`404-VATonstockentriesdueunderthereversecharge`
- 405 - VAT on capital expenditures due under the reverse charge
405 - VAT on capital expenditures due under the reverse charge
`405-VAToncapitalexpendituresdueunderthereversecharge`
- 406 - VAT on operational expenditures due under the reverse charge
406 - VAT on operational expenditures due under the reverse charge
`406-VATonoperationalexpendituresdueunderthereversecharge`
Assign the following account tags to the expense accounts you use for each type of expense, if
applicable:
- 188 - Appendix A - Expenses for other work carried out by third parties
188 - Appendix A - Expenses for other work carried out by third parties
`188-AppendixA-Expensesforotherworkcarriedoutbythirdparties`
- 190 - Appendix A - Car expenses
190 - Appendix A - Car expenses
`190-AppendixA-Carexpenses`
- 239 - Appendix A - Gross salaries
239 - Appendix A - Gross salaries
`239-AppendixA-Grosssalaries`
- 244 - Appendix A - Gross wages
244 - Appendix A - Gross wages
`244-AppendixA-Grosswages`
- 247 - Appendix A - Occasional salaries
247 - Appendix A - Occasional salaries
`247-AppendixA-Occasionalsalaries`
- 250 - Appendix A - Compulsory social security contributions (employer's share)
250 - Appendix A - Compulsory social security contributions (employer's share)
`250-AppendixA-Compulsorysocialsecuritycontributions(employer'sshare)`
- 253 - Appendix A - Accident insurance
253 - Appendix A - Accident insurance
`253-AppendixA-Accidentinsurance`
- 260 - Appendix A - Staff travel and representation expenses
260 - Appendix A - Staff travel and representation expenses
`260-AppendixA-Stafftravelandrepresentationexpenses`
- 269 - Appendix A - Accounting and bookkeeping fees
269 - Appendix A - Accounting and bookkeeping fees
`269-AppendixA-Accountingandbookkeepingfees`
- 283 - Appendix A - Employer's travel and representation expenses
283 - Appendix A - Employer's travel and representation expenses
`283-AppendixA-Employer'stravelandrepresentationexpenses`
- 285 - Appendix A - Electricity
285 - Appendix A - Electricity
`285-AppendixA-Electricity`
- 289 - Appendix A - Gas
289 - Appendix A - Gas
`289-AppendixA-Gas`
- 293 - Appendix A - Employer's travel and representation expenses
293 - Appendix A - Employer's travel and representation expenses
`293-AppendixA-Employer'stravelandrepresentationexpenses`
- 301 - Appendix A - Telecommunications
301 - Appendix A - Telecommunications
`301-AppendixA-Telecommunications`
- 305 - Appendix A - Renting/leasing of immovable property with application of VAT
305 - Appendix A - Renting/leasing of immovable property with application of VAT
`305-AppendixA-Renting/leasingofimmovablepropertywithapplicationofVAT`
- 307 - Appendix A - Renting/leasing of immovable property with no application of VAT
307 - Appendix A - Renting/leasing of immovable property with no application of VAT
`307-AppendixA-Renting/leasingofimmovablepropertywithnoapplicationofVAT`
- 310 - Appendix A - Renting/leasing of permanently installed equipment and machinery
310 - Appendix A - Renting/leasing of permanently installed equipment and machinery
`310-AppendixA-Renting/leasingofpermanentlyinstalledequipmentandmachinery`
- 316 - Appendix A - Property tax
316 - Appendix A - Property tax
`316-AppendixA-Propertytax`
- 324 - Appendix A - Business tax
324 - Appendix A - Business tax
`324-AppendixA-Businesstax`
- 326 - Appendix A - Interest paid for long-term debts
326 - Appendix A - Interest paid for long-term debts
`326-AppendixA-Interestpaidforlong-termdebts`
- 327 - Appendix A - Interest paid for short-term debts
327 - Appendix A - Interest paid for short-term debts
`327-AppendixA-Interestpaidforshort-termdebts`
- 328 - Appendix A - Other financial costs
328 - Appendix A - Other financial costs
`328-AppendixA-Otherfinancialcosts`
- 330 - Appendix A - Stock and business equipment insurance
330 - Appendix A - Stock and business equipment insurance
`330-AppendixA-Stockandbusinessequipmentinsurance`
- 331 - Appendix A - Public and professional third party liability insurance
331 - Appendix A - Public and professional third party liability insurance
`331-AppendixA-Publicandprofessionalthirdpartyliabilityinsurance`
- 332 - Appendix A - Office expenses
332 - Appendix A - Office expenses
`332-AppendixA-Officeexpenses`
- 336 - Appendix A - Fees and subscriptions paid to professional associations and learned societies
336 - Appendix A - Fees and subscriptions paid to professional associations and learned societies
`336-AppendixA-Feesandsubscriptionspaidtoprofessionalassociationsandlearnedsocieties`
- 337 - Appendix A - Papers and periodicals for business purposes
337 - Appendix A - Papers and periodicals for business purposes
`337-AppendixA-Papersandperiodicalsforbusinesspurposes`
- 343 - Appendix A - Shipping and transport expenses
343 - Appendix A - Shipping and transport expenses
`343-AppendixA-Shippingandtransportexpenses`
- 345 - Appendix A - Work clothes
345 - Appendix A - Work clothes
`345-AppendixA-Workclothes`
- 347 - Appendix A - Advertising and publicity
347 - Appendix A - Advertising and publicity
`347-AppendixA-Advertisingandpublicity`
- 349 - Appendix A - Packaging
349 - Appendix A - Packaging
`349-AppendixA-Packaging`
- 351 - Appendix A - Repair and maintenance of equipment and machinery
351 - Appendix A - Repair and maintenance of equipment and machinery
`351-AppendixA-Repairandmaintenanceofequipmentandmachinery`
- 353 - Appendix A - Other repairs
353 - Appendix A - Other repairs
`353-AppendixA-Otherrepairs`
- 355 - Appendix A - New acquisitions (tools and equipment) if their cost can be fully allocated to the year of acquisition or creation
355 - Appendix A - New acquisitions (tools and equipment) if their cost can be fully allocated to the year of acquisition or creation
`355-AppendixA-Newacquisitions(toolsandequipment)iftheircostcanbefullyallocatedtotheyearofacquisitionorcreation`
- 358 - Appendix A - Custom (value)
358 - Appendix A - Custom (value)
`358-AppendixA-Custom(value)`
- 361 - Appendix A - Total 'Appendix to Operational expenditures'
361 - Appendix A - Total 'Appendix to Operational expenditures'
`361-AppendixA-Total'AppendixtoOperationalexpenditures'`

#### Opening the declaration

Go to Accounting â£ Reporting â£ Tax Report .
In the Report selector, select Annual VAT Declaration (LU) .
In the ( Period ) selector, choose the fiscal year dates for which to
generate the declaration.

#### Completing the declaration

The annual declaration contains five sections labelled I to V, seven appendices labelled A to G, and
an additional Appendix to Operational Expenditures.
Sections I, III, and Appendix A can be pre-populated automatically based on the account tag
configuration . After configuring the account tags, set the tax lock date to the end of the fiscal year. This will
trigger the pre-computation of those values.
Alternatively, the yearâs total VAT debit and credit can be manually distributed among the various
report lines in sections I and III. You can use the ( Edit ) icon to
manually enter the value for each report line.
Sections II and IV are automatically computed.
You then need to manually complete appendices B through G, as well as the Appendix to Operational
Expenditures, with any additional information to be reported.

#### Exporting the declaration

Once the declaration is complete and correct, click the ( action menu )
icon, then click XML to export and download it in XML format. You can then submit the
XML file on the eCDF platform.
- Tax return (VAT declaration)
Tax return (VAT declaration)
- Tax office website - VAT declaration
Tax office website - VAT declaration
- Platform for electronic gathering of financial data (eCDF)
Platform for electronic gathering of financial data (eCDF)

## FAIA audit file export

FAIA is the Luxembourgish version of the SAF-T format for
accounting data interchange. It allows exporting complete accounting data for a period from a
taxpayerâs accounting system to the tax office.
Odoo can generate an XML file in the FAIA format that contains the entire accounting data for a
period.
To generate and download the FAIA file, open Accounting â£ Reporting â£ General
Ledger , choose the desired period, click the ( action menu ) icon, and
click Export FAIA .

Modules
Localization overview
Taxes
E-invoicing
Tax reporting
Monthly / quarterly declaration
Annual declaration
FAIA audit file export


Malaysia

# Malaysia

## Configuration

### Modules installation

Install the following modules to get all the features of the Malaysian
localization:
Malaysia - Accounting
`l10n_my`
This module includes the default fiscal localization package .
Malaysia - Accounting Reports
`l10n_my_reports`
This module includes the accounting reports for Malaysia.
`l10n_my_ubl_pint`
This module includes the features required to export invoices in PINT format.
Malaysia - E-invoicing
`l10n_my_edi`
This module includes the features required for integration with MyInvois under IRBM.
Malaysia - E-invoicing Extended Features
`l10n_my_edi_extended`
This module improves the MyInvois E-invoicing feature by adding proper support for self
billing, rendering the MyInvois QR code in the invoice PDF file and allows better management
of foreign customer TIN.
Malaysia - E-invoicing (POS)
`l10n_my_edi_pos`
This module includes the features required to send invoices and consolidated invoices to the
MyInvois system when using the POS app.

### Company information

To configure your company information, go to the Contacts app, search for your company,
and select it. Then configure the following fields:
- Address , including the City , State , Zip Code ,
and Country . In the Street field, enter the street name, number, and any additional address
information. In the Street 2 field, enter the neighborhood.
Address , including the City , State , Zip Code ,
and Country .
- In the Street field, enter the street name, number, and any additional address
information.
In the Street field, enter the street name, number, and any additional address
information.
- In the Street 2 field, enter the neighborhood.
In the Street 2 field, enter the neighborhood.
- Tax ID : Tax identification number
Tax ID : Tax identification number
- SST : Malaysian Sales and Service Tax Number, if applicable
SST : Malaysian Sales and Service Tax Number, if applicable
- TTx : Malaysian Tourism Tax Number, if applicable
TTx : Malaysian Tourism Tax Number, if applicable

## E-invoicing integration with MyInvois

The MyInvois portal is a platform provided by the IRBM that facilitates the implementation of e-invoices for Malaysian taxpayers.
Odoo supports integration with MyInvois to submit the invoices generated in Odoo.
- The Malaysia - E-invoicing module ( l10n_my_edi ) must be installed to submit
invoices to MyInvois.
The Malaysia - E-invoicing module ( l10n_my_edi ) must be installed to submit
invoices to MyInvois.
`l10n_my_edi`
- Each company in the database requires an individual connection to the MyInvois portal using
its own TIN .
Each company in the database requires an individual connection to the MyInvois portal using
its own TIN .

### Set-up

#### MyInvois registration

To send electronic invoices to MyInvois, you first need to register and log in to the MyInvois
portal to grant Odoo the right to invoice as an intermediary for your company.
If this is the first time you log into the MyInvois portal, click User Manual on MyTax to learn more about the registration process. Both the pre-production ( testing
environment to try the functions before using the actual (production) environment ) and production ( actual environment to submit e-invoices with accurate information )
environments are supported.
- Log into MyTax . Choose the ID Type and the corresponding identification number used to register for the digital certificate.
Log into MyTax . Choose the ID Type and the corresponding identification number used to register for the digital certificate.
- From the dashboard, click the (angle-down) icon in the
top-right corner and select View Taxpayer Profile .
From the dashboard, click the (angle-down) icon in the
top-right corner and select View Taxpayer Profile .
- In the Representatives section, click Add Intermediary in the top-right
corner.
In the Representatives section, click Add Intermediary in the top-right
corner.
- Add ODOO S.A. as an intermediary using the following information: TIN : C57800417080 BRN : BE0477472701 Name : Production : ODOO S.A. Pre-production : OXXX_XXXXA.
Add ODOO S.A. as an intermediary using the following information:
`ODOOS.A.`
- TIN : C57800417080
`C57800417080`
- BRN : BE0477472701
`BE0477472701`
- Name : Production : ODOO S.A. Pre-production : OXXX_XXXXA.
- Production : ODOO S.A.
Production : ODOO S.A.
`ODOOS.A.`
- Pre-production : OXXX_XXXXA.
Pre-production : OXXX_XXXXA.
`OXXX_XXXXA.`
- Grant the following permissions by clicking the (toggle-on) icon: Representation From Document - Submit Document - Cancel Document - Request Rejection Note Access can be revoked in the future if needed. Odoo, as an intermediary, does not store invoices sent on behalf of the client on the proxy
server.
Grant the following permissions by clicking the (toggle-on) icon:
- Representation From
- Document - Submit
- Document - Cancel
- Document - Request Rejection
Document - Request Rejection
- Access can be revoked in the future if needed.
Access can be revoked in the future if needed.
- Odoo, as an intermediary, does not store invoices sent on behalf of the client on the proxy
server.
Odoo, as an intermediary, does not store invoices sent on behalf of the client on the proxy
server.
- Click Save . The status for ODOO S.A. is then Active .
Click Save . The status for ODOO S.A. is then Active .
`ODOOS.A.`

#### Configuration in Odoo

Open the Settings app, navigate to the Companies section, and click Update Info . Make sure the Tax ID is entered and complete the following
fields in the E-invoicing section:
- Identification : Select the ID Type and enter the associated Identification number used to register for the digital certificate.
Identification : Select the ID Type and enter the associated Identification number used to register for the digital certificate.
- Ind. Classification : Input the 5-digit numeric code that represents the nature and
activity of the business.
Ind. Classification : Input the 5-digit numeric code that represents the nature and
activity of the business.
Go to Accounting â£ Configuration â£ Settings . In the Malaysian Electronic Invoicing section, select the relevant MyInvois mode based on the environment used for the companyâs MyInvois registration.
Make sure to allow Odoo to process e-invoices by checking the box, then click Register .
To change the TIN reference, click Unregister ,
change the companyâs information and make sure the number registered on MyInvois matches, then Register again.
For taxpayers with a TIN starting with âIGâ and a ROB number, combine the TIN and ROB in the TIN:ROB format
for the Tax ID field.
To register, go to Accounting â£ Configuration â£ Settings , and in the Malaysian Electronic Invoicing section, click Register . Once the
registration is complete, the :ROB can be removed from the Tax ID .
Additionally, remember to log into MyTax account and set the Type of Role as Business Owner .
Access the contactâs form and fill in the following fields:
- Country
- Tax ID
- Identification : the ID Type and the corresponding Identification number of the contact registered on MyTax.
Identification : the ID Type and the corresponding Identification number of the contact registered on MyTax.
For specific use casesâsuch as transactions with buyers without a TIN or foreign customersârefer to the list of general TINs
provided in the Appendix of the e-Invoice Specific Guideline .
All products to be included in e-invoices require a Malaysian classification code. To add it,
access the Product form and in the General Information tab, fill in the Malaysian classification code field.
To configure a taxâs Malaysian Tax Type field, go to Accounting â£
Configuration â£ Accounting â£ Taxes and open the relevant tax in the Taxes list
view.
When an invoice or bill includes a tax with the Malaysian Tax Type set to Tax Exempt , a Tax Exemption Reason must be specified in the MyInvois tab before the document is sent.

### Workflow

#### Send invoices to MyInvois

Invoices can be sent to MyInvois once they have been confirmed. To do so, click Send to MyInvois .
For invoices in foreign currencies, the exchange rate applied to the invoice is sent to MyInvois .

#### Send bills to MyInvois

Sending a bill to MyInvois is necessary when issuing an e-Invoice on behalf of a supplier. Once a
bill is confirmed, click Send To MyInvois .
- In MyInvois , these vendor bills are
categorized as Self-billed Invoice .
In MyInvois , these vendor bills are
categorized as Self-billed Invoice .
- If a Bill Reference field is empty, Odooâs vendor bill number is used as the
MyInvois number. If a reference is entered in the Bill Reference field, that
reference is used instead.
If a Bill Reference field is empty, Odooâs vendor bill number is used as the
MyInvois number. If a reference is entered in the Bill Reference field, that
reference is used instead.
The current MyInvois status of an invoice or bill is shown in the MyInvois State field
within the MyInvois tab.
- Validation in Progress : the validation is being processed by MyInvois. A blue Processing banner is also displayed.
Validation in Progress : the validation is being processed by MyInvois. A blue Processing banner is also displayed.
- Valid : it is validated by MyInvois. The Submission UID , MyInvois and Validation Time are automatically updated with information
from MyInvois.
Valid : it is validated by MyInvois. The Submission UID , MyInvois and Validation Time are automatically updated with information
from MyInvois.
Odoo automatically checks and updates the
status every hour. To update it manually at any time, click Update MyInvois Status .

#### Invoice cancellation

Sent invoices can be canceled within 72 hours from Validation time . In this case, open
the invoice and click Request Cancel . In the Cancel document window,
include the cancellation Reason , then click Update Invoice . The MyInvois State is updated to cancelled .

#### Send credit notes to MyInvois

Before sending a credit note, the original invoice must be successfully submitted to MyInvois.
Otherwise, the credit noteâs MyInvois State is updated to Invalid .
While Odoo uses a single credit note document, MyInvois categorizes these into two
types: credit note and refund note , depending on how they are reconciled.
- MyInvois Credit Note : This is created when an Odoo credit note is reconciled with the
original invoice.
MyInvois Credit Note : This is created when an Odoo credit note is reconciled with the
original invoice.
- MyInvois Refund Note : This is created when an Odoo credit note is reconciled with a
full payment instead of the original invoice.
MyInvois Refund Note : This is created when an Odoo credit note is reconciled with a
full payment instead of the original invoice.
If a credit note is reconciled with only a partial payment before being sent, it is still
categorized as a credit note in MyInvois.
- Create two separate credit notes in Odoo from the original invoice.
Create two separate credit notes in Odoo from the original invoice.
- For a MyInvois Refund Note : Register a payment before sending it.
For a MyInvois Refund Note : Register a payment before sending it.
- For a MyInvois Credit Note : Do not register a payment before sending it.
For a MyInvois Credit Note : Do not register a payment before sending it.
The same logic applies to credit notes created from bills: if reconciled with a full payment,
the credit note becomes a Self-billed Refund Note ; otherwise, it becomes a Self-billed Credit Note .

#### Send debit notes to MyInvois

Issue a debit note from an existing bill or invoice and click Send To MyInvois . In MyInvois, it appears then as a Debit Note if
issued from an invoice or a Self-billed Debit Note from a vendor bill.

### POS workflow

Two workflows are available to issue e-invoices in Point of Sale :
- Individual e-invoice : Issue an e-invoice
immediately for a specific order using the customerâs details.
Individual e-invoice : Issue an e-invoice
immediately for a specific order using the customerâs details.
- Consolidated e-invoice : Create orders as
usual, then aggregate them periodically into a single consolidated e-invoice.
Consolidated e-invoice : Create orders as
usual, then aggregate them periodically into a single consolidated e-invoice.

#### Individual e-invoice

To issue an individual e-invoice and send it to MyInvois, create an invoice , and ensure the selected customer has a valid TIN or Identification Number .
If the QR code does not appear on the invoice, the MyInvois validation is still in progress.
Odoo automatically retrieves the status in the background. Simply reopen the invoice later to
retrieve the validated version with the QR code.

#### Consolidated e-invoice

Orders that are not e-invoiced individually can be aggregated into a consolidated e-invoice.
- Navigate to Point of Sale â£ Orders â£ Consolidated Invoice .
Navigate to Point of Sale â£ Orders â£ Consolidated Invoice .
- Click Consolidate Orders and set the Date From and Date To .
Click Consolidate Orders and set the Date From and Date To .
- Click Submit to MyInvois .
Click Submit to MyInvois .
Odoo automatically fetches all eligible POS orders within that timeframe that have not been
individually invoiced nor refunded .
Orders belonging to an open POS session are not included in the
consolidation. Close the session to include them.
To submit the consolidation, click Submit to MyInvois on the form view.
For multiple records, click Consolidated Invoices to go back to the list view, and
select the relevant consolidated invoices. Then, click Submit to MyInvois .
Consolidated e-invoices are issued to the pre-configured General Public contact.

#### Refunds

To refund a customer, process a return .
Refunds for orders e-invoiced individually or via consolidation must be issued as e-invoices
(Refund Notes). To do so, click Invoice before processing the refund.

### Access invoices via QR code

When a document is successfully submitted to MyInvois, a QR code is added to its PDF version.
Scanning this code links directly to the validated document in MyInvois.
To download the PDF from an invoice or bill:
- Click the (gear) icon
Click the (gear) icon
- Select Download
- Choose either PDF or PDF without Payment
Choose either PDF or PDF without Payment

## Employment Hero payroll

If your business is already up and running with Employment Hero , you can use our connector as an
alternative payroll solution.
To configure the Employment Hero API for Malaysia , use
the following value as Payroll URL : https://apimy.yourpayroll.io/ .
`https://apimy.yourpayroll.io/`

Configuration
Modules installation
Company information
E-invoicing integration with MyInvois
Set-up
Workflow
POS workflow
Access invoices via QR code
Employment Hero payroll