A year after buying a machine, you want to know what its balance means and how the accountant can explain it. A useful fixed-asset setup in the Odoo application connects the invoice, asset record, depreciation schedule and posted entries. Paying for equipment and recognising depreciation are separate events. A plausible figure on an asset screen is not sufficient evidence that opening balances were imported correctly.
Odoo’s current 19.0 documentation describes asset accounts, models, depreciation methods and schedules 1. The IFRS Foundation’s IAS 16 overview explains the standard’s scope: recognition and measurement of property, plant and equipment, including depreciation and impairment 2. Finance approves the applicable policy and estimates; the implementation translates those decisions into configuration and acceptance checks.
At ToDoOps, we connect these records so Saudi business owners can understand the balance and finance can trace it. Explore our Odoo implementation approach, then use the example below to define the evidence you need before accepting the setup.
Separate the purchase, payment and periodic expense
The supplier invoice records a purchase transaction. Payment affects cash and the supplier balance. The asset record explains the resource and its schedule. Depreciation allocates the approved depreciable amount across the configured periods. These records relate to one another, but they answer different questions.
Ask for original cost, accumulated depreciation and net book value separately. The depreciable amount also needs a clear explanation after allowing for the approved residual value. Confusing net book value with the amount still to be depreciated makes an otherwise correct schedule difficult to reconcile.
This guide concerns equipment that finance has decided to capitalise and depreciate. Before automating invoice processing, agree which purchases belong in that category and how exceptions are reviewed. A product name or a large invoice total cannot make that decision by itself. Odoo ERP configuration should follow the company’s approved accounting decisions.
Worked example: a SAR 120,000 machine
Assume an approved cost of SAR 120,000, residual value of SAR 12,000 and a five-year straight-line schedule. For this hypothetical illustration, depreciation starts with a complete monthly period and runs over 60 equal periods. Taxes, financing, impairment, revaluation and disposal are excluded. The amounts are not equipment prices or a useful-life recommendation.
| Item | Calculation | Result |
|---|---|---|
| Depreciable amount | 120,000 − 12,000 | SAR 108,000 |
| Monthly depreciation | 108,000 ÷ 60 | SAR 1,800 |
| First 12 months | 1,800 × 12 | SAR 21,600 |
| Book value after 12 months | 120,000 − 21,600 | SAR 98,400 |
| Book value after the full schedule | 120,000 − 108,000 | SAR 12,000 |
Residual value remains part of book value; it is not cash already collected. Monthly depreciation is not another payment to the supplier. An owner needs both the accounting explanation and the separate cash position to make a purchasing or replacement decision.
For an initial implementation estimate, use our project cost, time and savings calculators. They help structure project inputs; they do not choose an asset’s useful life, determine accounting policy or produce an approved depreciation schedule.
What do we configure in the Odoo application?
The work begins with the account used for the transaction, followed by an asset created manually or from an appropriate journal item. Its supporting bill can be linked. We review the original-value account, accumulated-depreciation account, expense account, journal, owning company and any required analytic allocation.
The documented methods are straight line, declining, and declining then straight line. Our example uses straight line because it assumes equal periods. A method is not preferable merely because it produces a larger expense early in the schedule. Finance approves the method, and an independently calculated expectation becomes the acceptance reference.
Dates matter as much as amounts. Acquisition date, the prorata date and the computation settings have distinct roles. An asset starting partway through a period should not be tested by copying SAR 1,800 from the complete-period example. Include a partial-period case and explain its expected first and final amounts separately.
Asset models can make similar purchases easier to process consistently. Decide who reviews exceptions before enabling automatic creation and validation. A practical starting point is a reviewable draft record; extend automation after invoice classification and sample results are reliable.
Bring forward existing assets without double posting
Consider a separate migration scenario for the same machine after 24 complete periods. Cost is SAR 120,000, previous accumulated depreciation is SAR 43,200, and net book value is SAR 76,800. With unchanged assumptions, 36 months remain at SAR 1,800 a month.
Prepare an asset list containing an identifier, description, cost, depreciation to the cut-off date, residual value, remaining life, accounts and references. Odoo documents a field for amounts depreciated before import. Its use must be coordinated with the opening-ledger migration, so an opening asset balance is not posted again as a new purchase.
Fix one cut-off date for the comparison. A September ledger and a schedule that already includes October can disagree without either calculation being wrong. Retain the opening reconciliation and identify which periods have already been accounted for and which the new system will generate.
Acceptance means a balance that can be explained
These are proposed project tests, rather than results from a customer database run on this website:
| Test | Evidence to request |
|---|---|
| Create the asset from its source document | One record, correct account and traceable document reference |
| Calculate the illustration | SAR 108,000 depreciable and SAR 1,800 per complete period |
| Close the first year | SAR 21,600 accumulated and SAR 98,400 book value with posted entries |
| Import an opening asset | SAR 43,200 previous depreciation without duplicating acquisition cost |
| Start partway through a period | A calculation that explains the difference from a complete month |
| Trial sale or disposal | Approved date, document and treatment, followed by record-to-ledger reconciliation |
Owners should distinguish asset quantities from asset values. Accountants should distinguish a calculated board from entries that have actually posted. When reports disagree, check company, dates, posting status and accounts before changing a depreciation amount simply to make two totals match.
Define the implementation scope from your records
We review asset categories, approved policies, existing-data quality, opening balances and creation/review permissions. We test a small category and a closing cycle before expanding the setup. Data cleaning, source documents and integrations can matter more than the number of asset rows.
The scope may connect to Odoo apps and your industry workflow, for example when costs need project or department allocations. Our limited sales-and-inventory demo illustrates those connected flows only; it does not demonstrate fixed assets or financial closing.
Compare this process with prepaid expenses. Both involve periods, but an equipment acquisition is not an annual support contract, and depreciation is not simply a prepaid-expense schedule under another name.
Questions about assets and depreciation
Does Odoo determine the right useful life?
Finance approves useful life, method, residual value and relevant dates. The system calculates using the configured inputs; it does not make an estimate appropriate merely by accepting it. Agree the decision and expected calculation before testing postings.
Should every equipment purchase create an asset automatically?
Automation follows account, model and configuration choices. Capitalisation and classification follow the company’s policy. Review exceptions before allowing invoice validation to create and confirm assets automatically; a draft review stage may be appropriate initially.
Can we migrate partly depreciated assets?
The documentation includes an amount depreciated before import. Acceptance still requires one cut-off date and a reconciliation of original cost, accumulated depreciation, net value and remaining schedule. Coordinate the asset import with opening-ledger entries to prevent duplication.
Is accounting depreciation the same as tax treatment?
This guide explains an accounting record and a stated illustration. It does not prescribe a Saudi tax or zakat rate for your company. Finance and the relevant adviser identify required differences and reporting, then we test the approved requirements in the implementation.
How long does implementation take?
Timing depends on records, balances, policy decisions, document references and integrations. A reconciled register differs from several conflicting spreadsheets. We review a sample and define acceptance outputs before estimating the work, rather than promising a duration from row count alone.
Start with a reconciled register
Prepare a sample asset register, trial balance and finance-approved depreciation policy. Review our Odoo application implementation services, use the project calculators for an initial estimate, then discuss connecting your asset register to accounting so we can define the data and acceptance scope.
Sources for this guide
[1] Odoo — official 19.0 documentation: asset accounts, depreciation methods, models, import values, modification and disposal. Reviewed on 10 November 2026 to establish documented functionality and configuration.
[2] IFRS Foundation: the official IAS 16 overview describes recognition and measurement of property, plant and equipment, depreciation and impairment. Used to frame the accounting decision; the numerical scenarios above are explicitly hypothetical.
