This question has been flagged

Hello !

Here are the best practices to properly import the opening balance in the Accounting app. Note that this 10-steps-guide proposes a theoretical approach and you have to adapt it depending of the context of your project.

1. Create a copy of the production database and make sure that each steps works on it before applying it in the production database.

2. Check if the Accounting app already contains journal items. If yes, set the Invoicing Threshold Switch date to cancel them from an accounting point of view :

3. Create a specific misc. operations journal in which the opening balances will be imported. It is advised to name it as the previous software (for example : WinBooks). This step is optional but it will help the user to remember that the item he will reconcile comes from the previous software. If more details are needed, (s)he knows that he can consult the invoice/bill in the legacy system.

4. Extract the closing balances from the legacy software. Basically, you will get three structured files (.xlsx or .csv if possible, avoid .pdf) :

- General Balance = the balance of the general accounts.

- Customer Balance = the list of the unpaid invoices of each customer.

- Vendor Balance = the list of the unpaid invoices of each vendor.

5. Check if each general account in the files exists in the chart of accounts of Odoo. If no, create it ! Note that it is not necessary to create the general accounts for which the balance is zero.

6. Check if each customer/vendor exists in the Contacts of Odoo. If no, create it ! It is advised to import the External ID and/or the Internal Reference to ease the import of the opening balance.

7. When each general account and each partner is created, you can prepare the import of the opening balances. It is advised to import three distinct misc. operations in the journal you created previously :

- General Balance : remove the recevable and payable accounts and balance the journal entry with a waiting account.

- Customer Balance : use the External ID / Internal Reference to associate each journal item to the right partner and balance the journal entry with a waiting account.

- Vendor Balance : use the External ID / Internal Reference to associate each journal item to the right partner and balance the journal entry with a waiting account.

8. Import these three files in the journal previously created (i.e. : WinBooks) from the Accounting > Journal Entries menu.

9. Check if the trial balance of the waiting account is zero.

10. Check if the opening balance in Odoo is the same as the closing balance in the legacy system.

If the opening general balance is imported on January 1st, this one will probably be reviewed by the accountant on next few weeks in the legacy system. So it will be necessary to integrate these changes in Odoo as follow :

1. Reverse the general balance previously imported.

2. Import the new general balance.

3. Reconcile the waiting account if needed.




Thanks for sharing this helpful article with the community. If possible please update the steps to manage the stock updation, creditors and debtors breakup

Thanks a lot for this helpful guide. Has anyone had any experience with Sage Pastel Partner (Sage 50c) data migration. Please also share some info on inventory balance migration.

Best Answer

Hi there, I've been stuck on this step for hours. I double-checked all the instructions and keep receiving this message: 
Error at row 0: "Unknown error during import: : An error has occurred. The move (Draft Entry OPB/2022/12/0001 (Balance générale)) is not balanced. The total of debits equals 8,179.87 € and the total of credits equals 0.00 €. You might want to specify a default account on journal "Solde d'ouverture" to automatically balance each move." 
I would like to use the account 499000 (as shown in the video), and it exists, I just don't know how to "specify a default account on this journal" as it seems that "Miscellaneous" journals don't get a default account. 


I also have the same error. Would like to know the solution too...

All account moves must be balanced, in other words, all debit entries must sum the same as the credit entries (basic accounting).
If you're importing data in three steps, as recommended in the instructions, each importation must be balanced itself. You have to create a new line in each file with the balance using the waiting account.
If all the data is correct, the waiting account balance will be zero after importing the three files.

Best Answer

Hello, please can anyone share the demo import template file for the above three postings, general, client and vendors as also mentioned on the odoo youtube channel video from Eva Lambardo. I was not able to find any attachments as advised in the video. Many thanks in advance.


You can click again the tutorial, go to accounting and invoicing, open Import an Opening Balance, on the contents bar at the left side of your screen, you will see the Opening Balance.xlsx template. Thanks!