Accounting Opening Entry Import Checklist |
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
How to make opening (ledger) entries in Odoo
Document Status: master draft
Validated Versions: 9.0-13.0
Caution: This information contained in this document has not been completely validated for the refactoring in version 13.0.
Note: This document is not complete. The goal is to create a comprehensive and client-facing guide to different methods of making opening entries at accounting go-live which addresses the core cases and as many edge cases as possible and which provides a recommendation for the best method for common use cases.
If you would like to contribute directly to this document, reach out to CST. Also feel free to simply leave comments.
Introduction
When transitioning from a legacy accounting system to Odoo, you must move data from the old system. At a minimum, this consists of items that are open at the time of cutover from the legacy system to Odoo. These open items may be any of the following:
Unpaid customer invoices
Unpaid vendor bills
Special cases such as
Outstanding customer prepayments
Outstanding vendor prepayments
Inventory (automatic valuation only)
Account Balances (aka Initial Balances or Opening Entry)
There are several methods for entering this information into Odoo, which can be divided into two categories:
“Document method”: Import open invoices as invoice documents
“Journal entry method”: Import open invoices as AR entries
This guide currently addresses only the document method, which works without issue in all versions of Odoo for all costing and valuation methods. It should be noted that certain Latin American accounting localizations with electronic invoicing requirements may require use of the journal entry method. The journal entry method should be added to a future version of this document.
Document Method with clearing accounts
Discussion
Odoo accounting can be thought of as having two layers: the document layer and the journal entry later.
The key principle to keep in mind when making opening entries according to the document method is that accounting documents (in the document layer) in Odoo must post journal entries. If using the automated inventory valuation feature, stock movement also makes journal entries. Therefore when bringing open invoices/payments into Odoo you cannot simply import the trial balance from your previous system along with these documents or you will double your AP, AR, and potentially inventory valuation. If invoices are imported with the full line item detail, income and COGS can be doubled as well.
To get around this problem, we must use one of two methods: Clearing accounts are the preferred method, but you can also adjust your opening entry to account for the effect that your other opening activities will have. This document will discuss only the clearing account method.
Invoices in Odoo post journal entries differently depending on the valuation method of the invoiced product.
Manual Valuation:
Dr. AP
Cr. Income
Automatic Valuation
Dr. AP
Cr. Income
Dr. COGS
Cr. Stock Interim Delivered
Delivery
Dr. Stock Interim Delivered
You will need to clear up to 3 types of accounts:
AP
AR
Inventory Asset
The document method has a number of advantages:
Users can register payments and credits against imported invoices using the normal workflow.
Any balance left over in the clearing accounts indicates a mistake. Finding a mistake immediately makes finding the root cause easier.
Disadvantages:
Invoices line item detail is not imported. To reprint an invoice, you must look into your old system.
Your cash flow statement will show clearing accounts for payments made against legacy invoices.
Addendum: 2-entry initial balance
Proceed as above, but instead of modifying your trial balance entry to use clearing accounts, simply import it exactly as it comes out of your legacy system, then make a second entry. The net effect will be the same as normal method but you will have an entry which exactly corresponds to your trial balance in your legacy system.
Import trial balance without modification
Using a second entry, adjust balances from AR, AP, and Inventory into clearing accounts
Import documents
Special Cases:
Customer Prepayments
Background
Some accounting systems record a customer prepayment with a journal entry that can be generalized as:
Dr. Bank
Cr. Deposit Liability
Odoo does not use this structure. All customer payments make the following entry:
Dr. Bank
Cr. AR
This difference in structure can cause some difficulties at go-live, because we cannot simply import open down payments like for like.
Process
For orders which have been prepaid but neither invoiced nor delivered, we will enter sale orders into Odoo. In doing this we make the assumption that we will use Odoo to manage the delivery and invoicing of the ordered goods.
The sale orders we enter should consist of line items for all ordered items plus one additional line item for a down payment service product with a negative quantity of 1 and a unit price of the down payment amount. The income account on the Down Payment product should be your down payment liabilities account.
A fully prepaid sale order for a cowboy hat should have the following two line items:
Cowboy Hat, 1, $100
Down Payment, -1, $100
This will result in a delivery order for 1 Cowboy Hat and a 0 dollar invoice which will recognize cowboy hat income and clear your down payment liability.
Down payment liabilities will be recorded on your Odoo general ledger when making your trial balance.
After go-live, new down payments may be managed using either down payment invoices or a periodic manual entry.
This same procedure should also be applicable to deposits on vendor bills.
2. Partially paid invoices and bills
Bring over only the balance due at cutover as an invoice with a single line item.
3. Checks deposited but not cleared
Delete the bank statement line and adjust the bank statement starting balance to compensate.
4. Foreign currency transactions
Create historical currency rates before validating any entries or no conversion will be made.
5. Cash basis reports
AP and AR clearing accounts cause issues with cash basis reports, most notably the cash flow statement and the cash basis income statement.
By way of example:
You issued an invoice in May
You went live with Odoo on June 1st
The invoice was paid in June
In accrual basis, the income will appear on your May income statement
In cash basis, the income should appear on your June income statement
However, because the invoice in Odoo was brought in with AR Clearing as the counterpart, the income will appear on June’s cash basis income statement as AR Clearing if the clearing account is of type Income, or not at all if the clearing account is not of type income.
A similar behavior is found on the cash flow statement where cash in will be shown as coming from AR Clearing. The cash flow statement is less sensitive to account type, so a clearing account of type asset will still be shown.
The simplest solution to this problem is to type the AR Clearing account as “Income” and to name it something like “Income prior to Odoo cutover”.
The same process may also be necessary for AP clearing, but the distinction is more ambiguous because a counterpart to AP may be either an Expense or an Asset type account.
The more complete solution to this problem is more complex and would involve importing invoices with full line item detail and adjusting your opening entry accordingly.
6. Other rare special cases
Delivered but not invoiced
Should not happen. Invoice all delivered items before cutover.
Partially delivered, not invoiced
Invoice what is delivered before cutover. Import as open order.
Received but not billed
If possible, bill all received items before cutover.
Invoiced but not delivered
Messy. Try to avoid this situation if at all possible by not invoicing undelivered goods.
Billed but not received
Messy. Avoid if possible by not billing unreceived goods.
Mid-Month Go-Live?
Checklist
Import Open Invoices and Bills
Create two clearing accounts
AR Clearing (ARC), type=income
AP Clearing (APC), type=income
Import open documents
It is simplest to import invoices w/o products with the entire balance on a single line.
Customer Invoices
Credit the line items to ARC
Vendor Bills
Debit the line items to APC
Opening Inventory (Auto/Perpetual Valuation Only)
Set up all products
Set valuation method to manual
Set cost prices for each product which you will be importing opening counts for
Then set your intended final costing/valuation methods
Create an inventory clearing account (type:current asset)
Set your new inventory clearing account on your inventory adjustment location
Inventory/Configuration/Locations
Validate an inventory adjustment to enter your opening inventory.
A single inventory adjustment should have no more than 1000 lines. Split your opening inventory into several adjustments if necessary.
Set your normal loss account on your adjustment location.
Import your Trial Balance
Import your AP and AR balances into the AP and AR clearing accounts
Debit your current AR to ARC
Credit your current AP to APC
Debit your current Inventory to Inventory Clearing
Do not include balances for cleared accounts
AP
AR
Inventory
This will (theoretically) empty your clearing accounts
In the case of a mismatch, you may choose to investigate or simply write off the difference
Customer Prepayments
We assume the following
Payment received in legacy system as dr. bank, cr. liability
Invoice will be generated in Odoo
Delivery will be managed using Odoo
Create a new product: Down Payment
Service-type
Income account: Down Payment Liabilities
Create/import sale orders in Odoo for each order with a down payment
Line items should correspond to legacy system orders
Plus one line item with your down payment product
Quantity = -1
Price = down payment amount
Confirm the sale orders
Deliver and invoice the orders as normal. Invoicing the order will clear the customer deposit liability. There is no need to use a clearing account.
Journal Entry Method
Checklist
Discussion
End.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Apr 24
|
2428 | ||
|
1
Aug 24
|
27439 | ||
|
1
Apr 24
|
4725 | ||
|
2
May 24
|
3137 | ||
|
1
Apr 24
|
6156 |