Key takeaways
- Clean the spreadsheet before you import it: duplicates, missing put-to-use dates, pooled items and vague locations are cheaper to fix in Excel than afterwards.
- Use the last audited balance sheet date as the cut-over date, and carry the closing accumulated depreciation of that year, not the opening column.
- For income-tax, the block WDV from Form 3CD clause 18 is the authoritative opening figure; per-asset tax values are only indicative.
- Tie gross block and accumulated depreciation, category by category, to the audited Schedule III note before anything is committed.
- Finish the migration with tags, labels and a first physical verification, so the new register starts from assets that have actually been seen.
On this page
Signs you have outgrown the spreadsheet
A spreadsheet is a perfectly good first register. It becomes a risk when the register has to do more than list assets. Some signs that point to a move:
- Depreciation for the two books lives in separate workbooks, and the year-end reconciliation between them takes days.
- Formulas have been copied, overwritten or extended by hand, and nobody is fully sure which rows a total covers.
- Transfers, disposals and custodian changes are recorded by editing the row, so the history of how an asset got where it is has gone.
- The auditor asks who changed a cost or a date and when, and the file cannot say.
- Physical verification is a printed list ticked by hand and keyed back in.
- Several people need the file at once, and copies start to drift apart.
None of these is a crisis on its own. Together they make the year-end slower and the audit file weaker. If you want a side-by-side view, see Excel vs FixedAsset Pro.
Preparing the master file
An asset row refers to other lists: branch, location, department, cost centre, category, vendor and custodian. Build those lists first and import them before the assets. In FixedAsset Pro the masters can be imported together in one transaction, and the server orders them for you: branches, departments, cost centres, categories, vendors, locations, then employees.
- Codes are unique per master, up to 20 characters, using letters, digits and - _ / . only.
- Categories carry the Companies Act defaults (useful life, method, rate) and the income-tax block rate. Agree these with your accountant before import, because blank values on an asset row take the category default. The useful life table lists the Schedule II lives.
- Vendors carry GSTIN and PAN; both are format-checked, and the PAN must match characters 3 to 12 of the GSTIN.
- Locations should be places a person can walk to and scan, such as a room or a bay, not just a city.
Download the free Masters and Assets templates, or keep your own column headings and map them once in the import wizard; the mapping is saved for the next file.
Cleaning the register before import
Duplicates
Sort by serial number, then by tag, then by invoice number and amount. The same laptop entered twice, once by IT and once by finance, is a common pattern. Keep one row and record the other tag as history.
Missing put-to-use dates
Depreciation in the books starts on the date the asset is available for use, and the income-tax 180-day test depends on the date it is put to use. If only the purchase date is known, find the installation report, goods receipt or commissioning note. An asset bought but not yet installed belongs in CWIP, not in the register.
Pooled items
Registers often hold rows such as "20 office chairs". Decide, with your auditor, which pooled rows stay as one record with a quantity and which are split into individual assets that will each carry a tag. Either way, the quantity, unit and location must be clear: CARO 2020 clause 3(i)(a) asks for quantitative details and situation.
Locations and custodians
Replace entries such as "Head office" or "with IT" with a location code and a named custodian where one exists. These fields drive the first verification, so vague entries now mean an untidy count later.
Dates and amounts
The importer reads dates day first (03/04/2024 is 3 April 2024) and accepts Indian grouping such as ₹12,40,000. Negative amounts are not allowed; disposals are recorded with a status and a date, not a minus sign.
Choosing the cut-over date
The cut-over date is the date up to which depreciation has already been charged in the old register. FixedAsset Pro computes depreciation only for periods after it, and the same date must be used on every row.
The natural choice is the last audited balance sheet date, for example 31 March 2026. The opening figures can then be tied to signed financial statements and a filed tax audit report, rather than to management numbers that may still move. Transactions between that date and the go-live date (additions, disposals, transfers) are then entered in the new system as ordinary transactions, so they carry their own documents and audit trail.
Opening balances for both books
| Book | Figure to enter | Where it comes from | Common mistake |
|---|---|---|---|
| Companies Act | Accumulated depreciation up to and including the cut-over date, per asset | Closing accumulated depreciation in the old register, agreed to the Schedule III note | Using the opening column of the schedule, which leaves out the year's charge |
| Companies Act | Cost, residual value, useful life, method | Old register and capitalisation records | Leaving residual blank when the policy is not 5% (blank defaults to 5% of capitalised cost) |
| Income-tax | Closing WDV of each block | Form 3CD clause 18 for the cut-over year | Summing per-asset tax values instead of using the block figure |
| Income-tax | Per-asset tax values (optional) | Old working, if any | Treating them as authoritative; they are indicative only |
Tax depreciation is computed on blocks of assets under section 32, so the authoritative opening figure is the block WDV in clause 18, entered on the IT_Block_Opening sheet of the template. Assets bought after the cut-over date carry no accumulated depreciation. Disposed assets are imported only if you want their history, with status Disposed and a disposal date; they are left out of the opening balances.
Control totals and the dry run
On the Control_Totals sheet, enter gross block and accumulated depreciation for each category from the audited Schedule III note, plus a total row. The preview shows the difference between those totals and the imported register, and the import stays blocked until they agree within ₹1.
Every upload first goes through a dry run. It checks every row and produces a downloadable error report. Errors block the import; warnings do not. The commit is all-or-nothing: if any row has an error, nothing is saved, so the register is never partly loaded. Fix the rows, upload again and repeat until the preview is clean.
| Category | Gross: note | Gross: register | Difference | Acc. dep.: note | Acc. dep.: register | Difference |
|---|---|---|---|---|---|---|
| Plant and machinery | 1,25,40,000 | 1,25,40,000 | 0 | 48,62,350 | 41,85,350 | -6,77,000 |
| Computers | 18,40,000 | 19,12,000 | 72,000 | 10,72,000 | 11,24,000 | 52,000 |
| Furniture and fixtures | 9,80,000 | 9,80,000 | 0 | 4,12,600 | 4,12,600 | 0 |
| Total | 1,53,60,000 | 1,54,32,000 | 72,000 | 63,46,950 | 57,21,950 | -6,25,000 |
Tie the income-tax side the same way: the total of the block WDVs entered must equal the closing WDV total in clause 18 of the cut-over year.
Labels and the first verification
Once the register is committed, generate tags for assets that do not have one and print labels on your own label sheets. The QR label generator shows the idea; inside the product the first scan confirms that a tag is in use.
Then run a first physical verification, scoped by branch and location. It is the quickest way to find what the spreadsheet got wrong: assets found elsewhere, custodian mismatches, items that are missing, and assets on the floor that were never in the register. Resolve each item through a transfer, a recovery or a write-off proposal, so the corrections carry their own documents. See physical verification.
Migration checklist
| Step | What to do | Done when |
|---|---|---|
| 1. Agree the cut-over date | Choose the last audited balance sheet date | Date agreed with finance and the auditor |
| 2. Collect the sources | Audited Schedule III note, Form 3CD clause 18, old register, capitalisation files | All four are on file for the same date |
| 3. Build masters | Branches, locations, departments, cost centres, categories, vendors, employees | Masters import commits without errors |
| 4. Clean the register | Remove duplicates, fill put-to-use dates, settle pooled items, fix locations | No row lacks a category, location or start date |
| 5. Fill opening balances | Closing accumulated depreciation per asset; block WDV per block | Both sheets complete |
| 6. Enter control totals | Gross block and accumulated depreciation per category from the note | Control_Totals sheet complete |
| 7. Dry run | Upload, read the error report, fix and repeat | No errors; differences within ₹1 |
| 8. Commit | Commit the import as one transaction | Register totals equal the audited note |
| 9. Post-cut-over transactions | Enter additions, disposals and transfers since cut-over | Each has its own document |
| 10. Tag and verify | Print labels, run the first verification, resolve discrepancies | Verification signed off |
For the order of work across the whole implementation, see the getting started guide.
General information, not tax or legal advice
How FixedAsset Pro handles this
FixedAsset Pro imports an existing register with opening balances for both books, and will not commit a file that does not tie.
- Excel, CSV and JSON through a column-mapping wizard with saved mappings; a dry run with a downloadable error report and an all-or-nothing commit. Fixed asset management
- Free Masters and Assets templates with an Instructions sheet, the IT_Block_Opening sheet and the Control_Totals sheet. Templates
- Cut-over balances for the Companies Act and Income-tax books tie to your audited Schedule III totals before the commit. Getting started
- Trial balance and ledger entries can be imported for the GL reconciliation after go-live. Integrations
- Tags, labels and a first verification campaign turn the imported list into a register of assets that have been seen. Physical verification
