Last week I argued that France’s e-invoicing mandate was really a master-data project wearing an e-invoicing hat. The pressure was on the foundation, not on the certified platform sitting on top of it. So here is this week’s story, and at first glance it looks like the same kind of compliance headline. It is not. For a Finance person it is bigger, and it is closer to home.
On 25 June SAP announced an end-to-end solution for CBAM declarants, built on SAP Sustainability Footprint Management and SAP Green Ledger. The press read it as another carbon-reporting tool. Read it from the Finance chair and you see what actually happened: carbon stopped being the sustainability team’s annual spreadsheet and became a liability you recognise, valuate, revalue and post to your accounts. Carbon walked into the general ledger.
Let me say the eager part first, because it is real. I have wanted to see carbon treated as a proper accounting object for years, not a number estimated once a year and reconciled to nothing. With Green Ledger, a CBAM liability is recognised on verified embedded emissions, valued at a price, revalued as that price moves, and posted in line with the International Accounting Standards. That is the exact sentence I keep repeating, the financial truth must match the operational reality, turned into a posting. I cannot wait to put it through a real cycle in the sandbox. I have not done that yet, so take the scope from SAP’s own note, not from me, and read the rest of this with that caveat in mind.
What CBAM actually became in 2026
A quick reset for anyone who filed CBAM under “next year.” The EU Carbon Border Adjustment Mechanism left its transitional phase and entered its definitive phase on 1 January 2026. From this year, imports of covered goods create a real, measurable carbon cost, not just a reporting line. The scope today is iron and steel, aluminium, cement, fertilisers, hydrogen and electricity, with a declarant threshold above 50 tonnes a year.
Here is the part that matters for the books. Those imports create a carbon liability for the authorised declarant, based on verified embedded emissions. The liability accumulates through the year. It has to be reported, audited, and eventually settled by buying and surrendering CBAM certificates. The certificate purchase was pushed to 1 February 2027 and the first annual declaration is due 30 September 2027. So the cash does not move in 2026. The liability does. It accrues now, on this year’s imports, with third-party verification of the emissions data already mandatory.
What actually shipped on 25 June
Be precise about what is in the box, because the announcement is half “available today” and half “coming soon,” and the difference is the whole planning question.
Available today, in Green Ledger: you can recognise a CBAM liability, valuate it as a financial liability, revalue it periodically as the price changes, and post the financial impact to the right accounts, audit-ready. That is the accounting layer, and it is the genuinely interesting half.
Coming soon, in Sustainability Footprint Management: the operational backbone that feeds it. Customs data and CN code classification from SAP Global Trade Services, supplier emissions ingested and interpreted, embedded-emissions and certificate-requirement calculation, a CBAM dashboard, and report generation for the authorities. Also flagged as coming soon: tracking certificate holdings and their valuation, forecasting the cash impact, and breaking the cost down to product level.
So read honestly, today you get the frame, the accounting of a liability, but the engine that calculates that liability is still largely outside the system or on the roadmap. That is not a criticism of the idea. It is the thing you need to know before you put it in a plan.
A worked example, so it is not abstract
Let me make the number real, and I will keep it deliberately illustrative rather than from a client.
Say your French entity imports steel, and the verified embedded emissions for the quarter come to 4,000 tonnes of CO2. The certificate price tracking the EU ETS sits around 75 euro. That is a 300,000 euro carbon liability sitting on your books for one quarter of imports. The price ticks up to 82 euro at period end, you revalue, and another 28,000 euro is posted, with the audit trail attached.
Now the practitioner caveat, because the gross figure overstates it. The real charge nets off the EU benchmark and any carbon price already paid in the country of origin, so your actual liability is the gap, not the whole tonnage times the spot price. Which benchmark, which price, which revaluation date: those are accounting-policy choices, and SAP hands you the posting mechanics, not the policy. You still have to write the policy down.
Who owns this number now
The announcement is careful to say CBAM cuts across finance, procurement and trade, and that no single function can manage it alone. True. But let me translate it for this audience. The liability and its valuation are yours.
Carbon used to be something the sustainability team estimated and put in a report nobody in Finance read closely. Now it is a recognised liability on your balance sheet, a revaluation that hits your result, a cash forecast you will be asked to produce, and a figure your external auditor will test like any other provision. The CFO who keeps treating this as “sustainability’s problem” is the one who ends up explaining an unverified carbon liability to an auditor in 2027. This is the evolving-CFO story in one feature: the finance function inheriting a number it did not used to own.
It still sits on the foundation
And now the line you knew was coming, because it is the throughline of every post I have written this month. A liability is only ever as honest as the data underneath it.
Green Ledger will recognise, valuate and revalue a precise liability whether the embedded-emissions figure feeding it is verified actual data or a conservative default someone typed in to get past the deadline. CN codes, customs import records, third-party-verified supplier emissions: that is the foundation here, and SAP itself calls building that data foundation the immediate priority. If the emissions number is wrong, you get a clean, audit-trailed, beautifully revalued liability on a wrong figure. That is the same failure mode as an autonomous close reconciling to a dirty ledger, or an e-invoice built on bad master data. A precise liability on bad emissions data is worse than no number, because it looks defensible right up until the verifier pulls the thread.
The gaps
Where I land before I have hands on it.
The deadline relief is a trap if it makes you wait. No certificate cash until 2027 reads like breathing room. It is not. The liability accrues on 2026 imports, verified, so this is the year you build the accounting muscle and prove the data, not the year you defer.
The valuation model is the hard part, and it is yours, not SAP’s. Spot or forward price, which benchmark, the revaluation cadence: the system posts what your policy tells it to. Get the policy wrong and you will revalue a year of liabilities the wrong way.
Half of SAP’s own stack is still coming soon. The calculation backbone, certificate asset tracking, product-level cost and cash forecasting are on the roadmap, so today you can account for a liability you mostly still have to compute elsewhere. And I have not run any of this in a sandbox yet, so the capability list is SAP’s, not my tested experience.
My honest verdict: treating carbon as a recognised, revalued liability in the ledger is the right idea and overdue, and the moment I can get Green Ledger and a CBAM scenario in front of me I want to test how the revaluation actually behaves at period end. The real 2026 work is not switching a feature on. It is writing your carbon-liability valuation policy, proving your emissions and customs data are verified and clean, and deciding who in Finance owns the number before the auditor decides for you.
Is anyone treating the CBAM liability as a Finance-owned accounting policy yet, or is it still sitting with the sustainability team? Let me know in the comments. Stay tuned.