# Set up the opening balances at the changeover

> Bring the previous system to Odoo on the cut-off date: import the dollar receivables from a spreadsheet. In Odoo 18, by KMEE.

Fonte: https://docs.kmee.com.br/en/odoo/18.0/funcional/contabilidade/saldos-de-abertura-na-virada/

Bring the previous system to Odoo on the cut-off date: import the dollar receivables from a spreadsheet, correct one title by importing the same spreadsheet again, load the trial balance as an opening balances entry and check that the transit account closes at zero.

## Before you start

Have the spreadsheet of the open dollar receivables of the previous system, one title per line, with external ID, customer, reference, invoice date, due date, currency USD, exchange rate, external ID of the line, account and value in dollars. The customers Quillstone Books LLC and Importadora Río Tercero S.A. are registered with the same name as in the spreadsheet, the Dollar (USD) is active in Configuration > Currencies, and the bank account of the company is marked as trusted under Bank Information. The transit account 2.1.9.9.01 Saldos de implantação a conciliar is in the chart of accounts: it receives the counterpart of the titles and, in the opening balances entry, the balance of Customers of the previous system. Have also the trial balance of the previous system on 10/31/2026 in a spreadsheet, with one line per account, balance sheet and income accounts, with debits and credits of the same total, and the accounts with the code of the Odoo chart. This applies in Brazil with configuration: the title enters as a sales invoice in dollars without a fiscal document, because the note was already issued in the previous system, and Odoo converts each title to reais by the origin rate; the spreadsheet of the trial balance takes the balance of Customers to the transit account, and not to Customers, so that the balance enters only once.

## Step by step

### 1. Import the dollar receivables

Example: on the cut-off date, 10/31/2026, three titles are open in the previous system: CR-000412 of Quillstone Books LLC, US$ 1,000.00, CR-000418 of Importadora Río Tercero S.A., US$ 2,500.00, and CR-000423 of Quillstone Books LLC, US$ 400.00. Check the spreadsheet: one title per line, with external ID, exchange rate, due date and value in US$. The rate is the one Odoo uses, in dollars per real: 1 / 5.2238 = 0.19143152, 1 / 5.0277 = 0.19889810 and 1 / 5.3420 = 0.18719581, where 5.2238, 5.0277 and 5.3420 are the Central Bank sale rates of the issue days (10/02, 10/21 and 10/28/2026). Open Customers > Invoices, click the gear beside the title and choose Import records. Click Upload data file and choose the spreadsheet: Odoo links each column to its field. Click Test: everything seems valid. Click Import: the three titles come in as Draft.

### 2. Confirm the titles

In the optional columns, check Reference, Invoice Currency and Amount Due to see each title in dollars and in reais. Select the three titles: the footer adds up US$ 3,900.00 and R$ 19,929.85 (US$ 1,000.00 x 5.2238 = 5,223.80; US$ 2,500.00 x 5.0277 = 12,569.25; US$ 400.00 x 5.3420 = 2,136.80). In Actions, choose Confirm entries and confirm. Open the title CR-000418: currency dollar, rate of 0.198898 dollar per real and due date 11/30/2026. Each title debits 1.1.2.1.01 Clientes, with its due date, and credits the same value to the transit account 2.1.9.9.01 Saldos de implantação a conciliar.

### 3. Correct a title by importing the spreadsheet again

Check the report of the previous system of 10/31/2026: the open total is US$ 3,850.00 and the title CR-000418 is at US$ 2,450.00, because an abatement of US$ 50.00 was given before the cut-off date. The first load brought US$ 2,500.00, and Odoo adds R$ 251.38 more than the report (US$ 50.00 x 5.0277). In the spreadsheet, only the value of CR-000418 changes, to US$ 2,450.00, with the same external IDs. In Customers > Invoices, search for CR-, open each title and click Reset to draft; the arrows at the top lead to the next one. In the list of Invoices, click the gear, choose Import records and load the corrected spreadsheet. Click Test and Import: there are still three titles, with no duplicates, because the external ID makes Odoo update the titles. Search for CR-: CR-000418 is at US$ 2,450.00 (R$ 12,317.87). Select the three and, in Actions, choose Confirm entries.

### 4. Check the open total

Open Reporting > Open Items and filter the two customers up to 10/31/2026, checking Only Receivables. The balance is R$ 19,678.47, as in the previous system: US$ 1,000.00 x 5.2238 = 5,223.80, US$ 2,450.00 x 5.0277 = 12,317.87 and US$ 400.00 x 5.3420 = 2,136.80, in US$ 3,850.00. The transit account Saldos de implantação a conciliar now has a credit of R$ 19,678.47.

### 5. Import the trial balance as opening balances

Check the trial balance of the previous system on 10/31/2026: the balance of Customers, R$ 19,678.47, goes to Saldos de implantação a conciliar. Example: cash 3,500.00, Banco do Brasil 46,821.53, machines at cost 50,000.00 with accumulated depreciation of 8,000.00, vehicles at cost 45,000.00 with accumulated depreciation of 7,000.00 and Customers 19,678.47, against rent payable 3,000.00, electricity payable 1,150.00, pro-labore payable 4,000.00, capital 100,000.00 and retained earnings of previous years 30,000.00. Income accounts from 01/01 to 10/31/2026: sales revenue 96,000.00, cost of goods sold 52,000.00 and operating expenses 32,150.00. Open Accounting > Journal Entries, click the gear beside the title and choose Import records. Click Upload data file and choose the spreadsheet, click Test (everything seems valid) and Import: the opening balances entry comes in as Draft. Open it, check debit and credit of R$ 249,150.00 and click Post.

### 6. Check that the transit account closes at zero

The debits are 3,500.00 + 46,821.53 + 19,678.47 + 50,000.00 + 45,000.00 + 52,000.00 + 32,150.00 = 249,150.00 and the credits are 8,000.00 + 7,000.00 + 3,000.00 + 1,150.00 + 4,000.00 + 100,000.00 + 30,000.00 + 96,000.00 = 249,150.00. Open Reporting > General Ledger and enter the period 10/01/2026 to 10/31/2026 and the account Saldos de implantação a conciliar. Uncheck Hide account with zero final balance and Show foreign currency and view: the account closes at zero, R$ 19,678.47 of credit from the titles against R$ 19,678.47 of debit from the opening. That zero proves that the detail of the titles matches the balance of the trial balance, and Customers keeps the detail of the titles, only once.

### 7. Check the opening balance sheet

When the changeover happens at the end of the fiscal year, the opening entry brings to Odoo the final balance sheet of the previous system, and the Balance Sheet on that date shows it. Example: the entry Saldo de abertura of 12/31/2025, in the Miscellaneous Operations journal. Open Accounting > Journal Entries, search for Saldo de abertura and open the entry. Check the debits: bank 80,000, inventory 40,000 and fixed assets 30,000. Check the credits: vendors 20,000, capital 100,000 and retained earnings 30,000. Open Reporting > MIS Reports and click View on the Balance Sheet on 03/31/2026. In the column 12/31/2025, check the total assets: 150,000. Check the total liabilities and equity: also 150,000 (liabilities 20,000 + equity 130,000).

## Expected result

The three dollar titles are loaded and confirmed, with R$ 19,678.47 (US$ 3,850.00) open, equal to the previous system; the trial balance of 10/31/2026 is posted as an opening balances entry of R$ 249,150.00; the transit account closes at zero in the General Ledger; and the Balance Sheet of the opening date, 12/31/2025 in the case of the changeover at the end of the year, closes, with assets equal to liabilities plus equity.

## If something goes wrong

If the Test points to a customer or account not found, the name or the code in the spreadsheet is not the same as in Odoo: fix the spreadsheet and test again. If a column appears without an Odoo field, choose the field in the list of the column or rename the header. If the titles appear in reais, without the foreign currency, link the Currency column to its field and activate the dollar in Configuration > Currencies; then import again, with the same external ID. If Odoo warns that the bank account of the company is not trusted, mark it as trusted under Bank Information and confirm again. If the import refuses the line saying that it is not possible to modify fields of a posted entry, open the title, click Reset to draft and import again. If repeated titles appear, the external ID column was imported empty or with another value: delete the repeated titles, check the external ID of the spreadsheet, which must be that of the first load, and import again. If the Open Items does not close with the previous system, enter the cut-off date in Until, choose the two customers and check Only Receivables. If Odoo refuses to post because the entry is not balanced, the debits of the spreadsheet differ from the credits: check the trial balance, fix the line and import again with the same external IDs. If the transit account does not appear in the General Ledger, uncheck Hide account with zero final balance. If it closes with a balance other than zero, the total of the titles differs from the balance of Customers in the trial balance: check the titles in Open Items on the cut-off date and fix the spreadsheet of the titles or that of the trial balance. If the opening Balance Sheet does not close, classify the account used in the opening in the chart of accounts and update the report.

## Odoo 18 manual

Standard Odoo 18 features used in this task, from the official manual.

- [Export and import data](https://docs.kmee.com.br/en/odoo/18.0/modules/primeiros-passos/exportar-e-importar-dados/)

## Continue the process

- [Import records when the company moves to the new system](https://docs.kmee.com.br/en/odoo/18.0/funcional/administracao/importar-cadastros-na-virada/)
- [Issue the trial balance, the DRE and the balance sheet](https://docs.kmee.com.br/en/odoo/18.0/funcional/contabilidade/balancete-dre-e-balanco/)
