All Workflows

Capex vs Opex Classifier

AS-10 / Ind AS 16 capitalisation tests on every vendor invoice — capex vs opex classification in under 30 seconds per document.

Live demo Upload any vendor invoice — Cadel extracts the capitalisation fields and runs all five AS-10 / Ind AS 16 checks in seconds.

The Problem

Mid-market finance teams process 200–2,000 vendor invoices per month, and every one carries an implicit capex vs opex classification decision that few AP processes make explicitly or consistently.

Manual GL coding at the PO stage

The person raising a purchase order selects a GL account from a dropdown and that initial coding typically survives unchanged through invoice processing to the general ledger. A keyboard bought for Rs 3,200 lands in GL 1535 — Computers & Peripherals simply because the buyer thinks of it as a computer accessory. The structured capitalisation tests in AS-10 (Revised) are never applied.

AMC and SaaS contracts capitalised

Annual maintenance contracts (AMCs) and SaaS licences are routinely booked to asset GL accounts because prior-year entries for the underlying asset used the same code. A Voltas HVAC AMC lands in GL 1530 — Office Equipment because the original HVAC unit was there. Ind AS 16 paragraph 7 explicitly prohibits capitalising spend that does not create or extend an identifiable asset.

Repairs routed to capital heads

Restoration expenditure — roof-waterproofing, worn-part replacement, structural patching — frequently lands in Buildings or Plant & Machinery GL accounts because the work relates to a capitalised asset. AS-10 paragraph 12 and Ind AS 16 paragraph 7(b) draw a hard line: expenditure that merely restores an asset to its previously assessed standard of performance must be expensed, regardless of GL account.

Compounding errors across the fixed-asset register

A company with 200 invoices per month and a 5% misclassification rate leaves ten items on the wrong side of the Capex / Opex line every month — 120 errors per year before the statutory auditor opens a working-paper file. Each incorrectly capitalised Opex item creates a depreciation stream under Schedule II of the Companies Act, 2013 that drags on reported profits for the asset's entire assumed life.

120+

The number of fixed-asset register errors a mid-market company with 200 invoices/month and a conservative 5% misclassification rate accumulates before the year-end statutory audit — any one of which, if material, risks a qualification under ICAI SA 315 (Understanding the Entity) and an amended Schedule II fixed-asset schedule.

Why It Matters: Regulatory Framework

Four overlapping standards and statutes govern the capitalisation decision for every vendor invoice. Misclassification in either direction creates audit exposure, misstated financial statements, and potential tax-timing differences.

AS-10 (Revised) · Para 12 & Ind AS 16 · Para 7(b)

Repair vs. enhancement — the hard line

Expenditure that merely restores an asset to its previously assessed standard of performance is revenue in nature and must be expensed, regardless of GL account or invoice description. The distinction turns on whether the spend creates future economic benefit beyond the original expected output — not on the vendor's characterisation of the work.

Ind AS 38 · Para 4 & Para 8

SaaS licences are not intangible assets

A software subscription does not meet the asset-definition criteria under Ind AS 38 because the entity holds no enduring right to the underlying resource after the subscription lapses. Annual SaaS licences (Microsoft 365, Salesforce, AWS reservations) must be expensed in the period of service, not capitalised and amortised over an assumed useful life.

Companies Act 2013 · Schedule II

Depreciation rates tied to the asset register

Schedule II prescribes useful-life ranges for 17 asset categories (Buildings: 30 years; Plant & Machinery: 7.5–15 years; Computers: 3–6 years). A capitalised item starts a depreciation stream in every subsequent accounting period — meaning one misclassification compounds silently until the statutory auditor reviews the fixed-asset schedule.

Income Tax Act 1961 · Section 32

Block-of-assets depreciation and tax timing

Under Section 32, depreciation is claimed on the written-down value of each block of assets at rates notified in the Income Tax Rules. Incorrectly capitalised Opex inflates the block, generating higher depreciation deductions in future years and creating a tax-timing difference that must be disclosed and unwound if the misclassification is discovered during assessment.

What This Workflow Automates

Seven deterministic passes from vendor invoice PDF to a classified, audit-ready output — in under 30 seconds per document, with every capitalisation test traceable to a specific AS-10 / Ind AS 16 provision.

01

Document ingestion and field extraction

Accepts vendor invoices and internal Capex requests in PDF form. Extracts nine structured fields — vendor_name, invoice_no, invoice_date, description, gl_account_proposed, amount, useful_life_months, cost_centre, and nature_of_spend — using form-aware extraction calibrated to the Acme Corp Pvt Ltd AP document layout.

02

Enduring-benefit test

Compares useful_life_months against the 12-month minimum required by AS-10 (Revised) and Ind AS 16. Any item with a stated life below 12 months, or with useful_life_months = 0 (as in restoration work), fails the enduring_benefit_test check with severity FAIL and is routed to the Opex queue.

03

Unit-value threshold test

Compares the extracted amount against the entity's configurable capitalisation threshold (default Rs 5,000, matching common mid-market policy). Items below threshold fail the unit_value_threshold check with severity FAIL regardless of proposed GL account, consistent with the materiality principle in Ind AS 16.

04

Repair-versus-enhancement test

Evaluates nature_of_spend and description fields for patterns indicating restoration to original condition — keywords such as "repair", "patch", "waterproofing", "replacement of worn part". Matches trigger nature_repair_vs_enhancement FAIL per Ind AS 16 paragraph 7(b) and AS-10 paragraph 12.

05

Recurring-service test

Detects subscriptions, AMCs, and service contracts by evaluating nature_of_spend (e.g. "Recurring subscription", "Service contract") and description keywords. Annual SaaS licences and HVAC AMC contracts trigger recurring_service_not_asset FAIL, as these do not create or extend an identifiable asset under Ind AS 38 paragraph 8.

06

GL-account consistency check

After the classification decision is made, cross-checks the proposed GL account for internal consistency. A capital GL account (1xxx series) proposed for an Opex item raises FAIL or WARNING; an Opex GL account proposed for a confirmed Capex item raises WARNING. Catches the reverse coding error where a genuine asset is booked to a P&L head.

07

Classification output and Excel export

Each invoice receives a Capex or Opex badge with a confidence score, a reasoning column citing the specific AS-10 / Ind AS 16 test that determined the outcome, and an Excel export of all classified items. The export is formatted to attach directly to the fixed-asset additions schedule in the controller's audit workpaper file under ICAI SA 230.

Edge Cases We Simulate

Five synthetic test scenarios that exercise every misclassification pattern seen in real AP data. Each produces a deterministic outcome an auditor or controller can verify in seconds against the underlying invoice PDF.

Clean Capex — PLC Panel

ScenarioSiemens PLC Control Panel, Rs 8,75,000, GL 1520 — Plant & Machinery, 84-month useful life, nature_of_spend = "New asset acquisition".
Expected outcomeClassified as Capex with high confidence; all five checks pass; GL 1520 confirmed consistent with capitalisation decision. Verifies correctly coded invoices are not disturbed.

SaaS Licence Booked as Repairs & Maintenance

ScenarioMicrosoft 365 E3 annual subscription (Rs 18,75,000, 250 seats, useful life 12 months) routed to GL 5340 — Repairs & Maintenance. The nature_of_spend reads "Recurring subscription".
Expected outcomeClassified as Opex; recurring_service_not_asset raises FAIL; reasoning cites Ind AS 38 para 8. GL account flagged inconsistent with any capitalisation intent.

AMC Contract Capitalised

ScenarioVoltas HVAC annual maintenance contract (Rs 2,40,000) booked to GL 1530 — Office Equipment. Useful life 12 months; nature_of_spend "Service contract".
Expected outcomeClassified as Opex; recurring_service_not_asset FAIL; gl_account_consistency WARNING because a capital GL is proposed for a service contract per Ind AS 16 para 7.

Sub-Threshold Item Capitalised

ScenarioLogitech keyboard and mouse combo purchased from Acme Corp Pvt Ltd (Rs 3,200) routed to GL 1535 — Computers & Peripherals. Useful life 36 months; new acquisition.
Expected outcomeClassified as Opex; unit_value_threshold FAIL (3,200 < 5,000); gl_account_consistency FAIL because a capital GL is proposed for a below-threshold item.

Roof Leak Repair Capitalised

ScenarioInvoice for patching and waterproofing a warehouse roof (Rs 1,45,000) booked to GL 1510 — Buildings. nature_of_spend "Restoration to original condition"; useful_life_months = 0.
Expected outcomeClassified as Opex; nature_repair_vs_enhancement FAIL and enduring_benefit_test FAIL (useful_life_months = 0). Reasoning cites AS-10 para 12 and Ind AS 16 para 7(b).

Mixed-Signal Invoice — Ambiguous Description

ScenarioInvoice description reads "HVAC upgrade and annual servicing" (Rs 4,80,000). nature_of_spend is blank; GL is 1530 — Office Equipment. Signals conflict — "upgrade" implies Capex, "servicing" implies Opex.
Expected outcomeConfidence score below threshold; nature_repair_vs_enhancement raises WARNING (not FAIL); item routed for controller review with both classification options populated for decision.

Sample Files & Results

Five seeded invoices covering every classification pattern — one clean Capex, three distinct Opex misclassification types, and one ambiguous signal case.

Capital asset · all tests pass
Capex confirmed

Siemens PLC Control Panel

Siemens Industrial Automation Pvt Ltd → GL 1520 — Plant & Machinery
Amount₹ 8.75 LRs 8,75,000
Useful Life84 mo7 years
Checks5 / 5all pass

All four capitalisation tests pass: enduring benefit (84 mo > 12 mo), unit value (Rs 8,75,000 > Rs 5,000), new acquisition (not repair), and recurring-service test clear. GL 1520 confirmed consistent with Capex decision.

SaaS subscription · recurring service
Opex — reclassify

Microsoft 365 E3 Subscription

GL coded to 5340 — Repairs & Maintenance (correct Opex GL, wrong intent)
Amount₹ 18.75 L250 seats × 12 mo
Checks failed1 FAILrecurring_service
ClassificationOpexconfirmed

recurring_service_not_asset FAIL: annual subscription does not meet asset-definition criteria under Ind AS 38 para 8. GL 5340 is actually the correct Opex account — the failure prevents any accidental capitalisation in future periods.

AMC contract · GL mismatch
Opex — reclassify

Voltas HVAC Maintenance Contract

GL coded to 1530 — Office Equipment (capital GL for a service contract)
Amount₹ 2.40 Lannual AMC
Checks1 FAIL+ 1 WARNING
GL statusWARNINGcapital GL → Opex

recurring_service_not_asset FAIL + gl_account_consistency WARNING. Maintenance contracts do not create or extend an identifiable asset under Ind AS 16 para 7. GL 1530 must be changed to an Opex account before posting.

Restoration spend · two FAILs
Opex — reclassify

Warehouse Roof Repair

GL coded to 1510 — Buildings · useful_life_months = 0
Amount₹ 1.45 Lpatch + waterproofing
Checks failed2 FAILsrepair + life
Useful life0 morestoration only

nature_repair_vs_enhancement FAIL and enduring_benefit_test FAIL (useful_life_months = 0). Reasoning cites AS-10 para 12 and Ind AS 16 para 7(b): expenditure restoring original condition must be expensed.

Why Automation Wins Here

A controller manually reviewing 200 AP invoices per month against AS-10 / Ind AS 16 capitalisation criteria typically spends 2–3 days per month on initial coding review, query resolution, and fixed-asset register corrections. Cadel's capex vs opex classification engine reduces that cycle to under two hours of exception review — covering only items that carry at least one FAIL or WARNING flag.

2–3 days → 2 hrs
Monthly controller time on capitalisation coding review and fixed-asset corrections
< 30 s
Per-invoice processing time across all five AS-10 / Ind AS 16 tests
Rs 22.6 L
Value of misclassified Opex caught across the four demo invoices alone
100%
Capitalisation decisions traceable to a named AS-10 / Ind AS 16 provision, not a judgment call

Clean fixed-asset register

Every Opex misclassification caught before it enters the fixed-asset register eliminates a spurious depreciation stream under Schedule II of the Companies Act, 2013 — preventing misstated EBITDA and incorrect P&L charges from compounding across the asset's assumed useful life.

Audit-ready classification output

The Excel export — invoice number, vendor name, amount, proposed GL, classification decision, confidence score, per-item reasoning column — attaches directly to the fixed-asset additions schedule in the controller's audit workpaper file, satisfying ICAI SA 230 (Audit Documentation) without requiring a separate working paper.

Tax-timing accuracy

Correctly separating Capex from Opex at the invoice stage prevents inflated asset-block values under Section 32 of the Income Tax Act, 1961, avoiding tax-timing differences that would otherwise require disclosure and unwinding during assessment — and the interest cost that accompanies an amended block-of-assets computation.

Frequently Asked Questions

The questions controllers and statutory auditors ask most often before deploying automated capex vs opex classification.

Which accounting standards govern the capitalisation tests applied by this workflow?

The workflow applies the capitalisation criteria in AS-10 (Revised) — Property, Plant and Equipment issued by the ICAI and its Ind AS equivalent, Ind AS 16. Specifically, it tests for (a) probable future economic benefit flowing to the entity, (b) cost measured reliably, (c) useful life exceeding 12 months (the enduring-benefit test), and (d) the distinction between capital enhancement and revenue repair under AS-10 paragraph 12 / Ind AS 16 paragraph 7. For intangible-adjacent items such as SaaS licences, the workflow additionally references Ind AS 38 (Intangible Assets) to confirm that a subscription does not create a recognisable intangible asset.

Can the Rs 5,000 unit capitalisation threshold be changed to match our company policy?

Yes. The unit_value_threshold validation is configured per entity; the Rs 5,000 default reflects a common mid-market policy in India, but controllers can update it to any amount (e.g., Rs 10,000 or Rs 25,000) in the workflow settings. The reasoning column in the Excel export will always cite the effective threshold at the time of classification, creating a traceable audit trail if the policy changes mid-year.

How does the workflow handle multi-currency invoices from foreign vendors?

For invoices denominated in USD, EUR, or other foreign currencies, the workflow reads the invoice amount and converts it to INR using the exchange rate field on the document or, if absent, flags the invoice for manual rate entry before the threshold test is run. The converted INR amount is used for the unit_value_threshold and enduring_benefit_test checks, and both the foreign-currency amount and the INR equivalent are preserved in the Excel export. This supports the requirements of Ind AS 21 — The Effects of Changes in Foreign Exchange Rates for initial recognition of PPE acquired in foreign currency.

What is the audit trail produced for each classification decision?

Every invoice processed generates an immutable record in Cadel's inbox showing the extracted fields (vendor name, invoice number, description, GL account proposed, amount, useful life, cost-centre code), the result of each of the five validation checks with pass/fail/warning status, a confidence score, and a plain-language reasoning column that cites the specific test triggered (e.g., "useful_life_months = 0 — fails enduring-benefit test per Ind AS 16 para 7"). The Excel export includes all of these columns and a timestamp, making the file suitable as supporting documentation under ICAI SA 230 — Audit Documentation.

Does the workflow integrate with Tally Prime, SAP, or NetSuite GL exports?

The workflow ingests vendor invoices as PDFs or scanned images and does not require a live ERP connection. For bulk classification, AP teams can upload a batch of invoices; the Excel export maps each item to the proposed GL account already on the invoice, which can be copied directly into Tally Prime's journal voucher import template or SAP's FB60 upload format. A native connector for NetSuite's AP module is on the Cadel product roadmap.

How does the workflow distinguish between an enhancement (Capex) and a repair (Opex) when the invoice description is ambiguous?

The nature_repair_vs_enhancement check evaluates three signals: (1) the nature_of_spend field on the invoice (e.g., "Restoration to original condition" vs. "Capacity enhancement"), (2) keywords in the description such as "repair", "patch", "waterproofing", "replacement of worn part", and (3) the useful_life_months value — a stated life of 0 or blank is treated as strong evidence of restoration rather than enhancement. When the signals conflict, the workflow assigns a lower confidence score and raises a WARNING rather than a FAIL, routing the item for human review rather than auto-rejecting it.

How does capex vs opex classification differ under IFRS compared to Indian GAAP?

The recognition criteria under IAS 16 (IFRS) and Ind AS 16 are functionally identical — both require probable future economic benefit and reliable cost measurement. The primary practical difference is that Indian GAAP (AS-10 Revised) and the Companies Act 2013 impose entity-level capitalisation thresholds and Schedule II depreciation rates that are not mandated by IFRS. The workflow's AS-10 / Ind AS 16 logic therefore applies directly to IFRS reporters with only the threshold and depreciation-rate parameters needing adjustment.

Can the workflow classify component-level Capex where a single invoice covers both capital and revenue spend?

Where a single invoice bundles a capital component (e.g., equipment installation) with a revenue component (e.g., first-year maintenance), the workflow extracts the description and nature_of_spend for each line item separately where the invoice structure permits. Mixed-classification invoices receive a WARNING flag and are routed for controller review with both classification options populated, consistent with the component-of-cost approach in AS-10 paragraph 9 / Ind AS 16 paragraph 43.