Early accessSome features may be unavailable
Back to Blog
auditifrsias-29hyperinflationgroup-auditconsolidation

IAS 29 hyperinflation: when restatement matters and how we generate it

Argentina, Turkey, Lebanon, Zimbabwe — the IFRS Foundation maintains a list. We use it. Plus what restatement actually does to a 4-period chain.

VynFi Team · EngineeringMay 9, 202611 min read

IAS 29 is an underrated standard. It rarely shows up in a single-jurisdiction audit, so most engagement teams don't touch it more than once or twice a year. But for any group with operations in Argentina, Turkey, or one of the other ten or so currently-hyperinflationary economies, IAS 29 is the standard that determines whether the consolidated statements bear any resemblance to economic reality. Get it wrong, and a subsidiary's reported revenue is meaningless because the local-currency unit it's measured in has lost half its purchasing power between transaction date and balance-sheet date.

**TL;DR** — VynFi 2.7's IAS 29 implementation auto-detects hyperinflation status from each entity's jurisdiction using the IFRS Foundation 2026 list (11 jurisdictions including Argentina, Turkey, Lebanon, Zimbabwe, Venezuela, Sudan, South Sudan, Sierra Leone, Suriname, Ethiopia, and Yemen). Per-entity override is available. The engine applies the standard restatement mechanic — index-period to base-period CPI factors, gain or loss on net monetary position through P&L — and threads it correctly through a 2-12 period chain when CPI compounds across periods.

The IFRS Foundation 2026 hyperinflationary list

IAS 29 ¶3 defines a hyperinflationary economy by reference to a non-exhaustive set of indicators: the general population prefers to keep wealth in a stable foreign currency or non-monetary assets; prices are commonly quoted in a stable foreign currency; sales and purchases on credit are at prices that compensate for expected purchasing-power loss; interest rates, wages, and prices are linked to a price index; and — the headline indicator — the cumulative inflation rate over three years is approaching or exceeding 100 percent.

In practice, the determination is made by the IFRS Foundation's IPTF (International Practices Task Force) and published as a list. The 2026 list has 11 jurisdictions: Argentina (continuous since 2018), Turkey (since 2022 — the cumulative-inflation indicator finally tipped), Lebanon (since 2020 amid the banking crisis), Zimbabwe (recurring, with multiple currency regimes), Venezuela (multi-decade), and a tail of less-populous economies (Sudan, South Sudan, Sierra Leone, Suriname, Ethiopia, Yemen). The list is updated annually; jurisdictions can be added when the cumulative-inflation indicator tips, and removed when it stabilises.

VynFi 2.7 ships with the 2026 list baked in. When you configure a group entity with a jurisdiction code, the engine checks the list and auto-flags the entity for IAS 29 restatement. No additional config required. If you need to override (for example, you want to model a what-if scenario where Brazil tips hyperinflationary, or you want to disable IAS 29 for an Argentinian entity that operates in a USD-bubble), the override flag is one line of YAML.

YAML
entities:
- id: "acme-argentina"
parent: "acme-holdings"
name: "Acme Argentina S.A."
jurisdiction: "AR"
currency: "ARS"
consolidation: "full"
ownership: 1.00
sector: "consumer_goods_distribution"
# ias_29_override: false # uncomment to disable IAS 29 despite jurisdiction list
- id: "acme-brasil"
parent: "acme-holdings"
name: "Acme Brasil Ltda"
jurisdiction: "BR"
currency: "BRL"
consolidation: "full"
ownership: 1.00
sector: "consumer_goods_distribution"
ias_29_override: true # opt-in to IAS 29 even though Brazil is not on the list

Why IAS 29 matters: restating monetary vs. non-monetary balances

The core mechanic of IAS 29 is restatement. Financial statements of an entity whose functional currency is the currency of a hyperinflationary economy must be stated in terms of the measuring unit current at the end of the reporting period. Concretely: every line in the financial statements is restated using a general price index, but monetary and non-monetary items behave differently in the process.

Non-monetary items (PPE, inventory, equity components) are restated by applying the change in the general price index from the date of acquisition (or the date of the last restatement) to the balance-sheet date. So a piece of equipment bought in January for ARS 1,000,000 with a cumulative inflation factor of 1.40 by December gets restated to ARS 1,400,000. The restatement preserves the real economic value.

Monetary items (cash, receivables, payables, debt) are not restated — they're already stated in the measuring unit current at the balance-sheet date by their nature. But here's the catch: holding a monetary item through a period of inflation means its purchasing power is eroding. IAS 29 ¶27 requires recognition of this erosion as a gain or loss on the net monetary position, recorded in P&L for the period. An entity with a net monetary asset position (cash > debt) loses out during inflation; an entity with a net monetary liability position (debt > cash) gains.

VynFi's auto-detection by jurisdiction + per-entity override

From the engine's perspective, IAS 29 status is a per-entity flag determined at config-load time. The lookup is jurisdiction → list-membership, with the override flag taking precedence when set. The engine surfaces the status in the run-detail Hyperinflation Summary tab so reviewers can sanity-check: 'Acme Argentina was treated as IAS 29; Acme Brasil was not; the override on Acme Brasil was applied because the YAML says ias_29_override: true.' No mystery, no plugged status.

Importantly, the override is two-way. You can opt in (force IAS 29 on an entity not on the list) or opt out (suppress IAS 29 on an entity that is on the list). This matters in practice because the list is binary but reality isn't: an entity might be on the list but operate in such a USD-bubble (USD-denominated revenue, USD-denominated debt, USD-priced inventory) that IAS 29 restatement on local-currency balances is misleading. The override gives the engagement team room to make that call, with the audit trail documenting why.

CPI factor mechanics: index-period vs. base-period

Restatement under IAS 29 needs CPI factors. VynFi 2.7 maintains a CPI lookup table per hyperinflationary jurisdiction, with monthly index values for the past 5 years. The factor calculation is straightforward: factor = CPI(target_period) / CPI(source_period). For non-monetary items, the source period is the date the asset was acquired or the last restatement; the target is the balance-sheet date. For income-statement items, the source is the date of the transaction (typically the average of the period); the target is again the balance-sheet date.

Two distinct flavours of CPI matter. The index-period CPI is the headline number — the CPI value at the end of the reporting period (e.g., December 2025). The base-period CPI is what you compare against — typically a fixed base year that the index is normalised to (often 1993 or 2003 in Argentina's case). The factor for restating a balance from January 2025 to December 2025 is CPI(Dec 2025) / CPI(Jan 2025), and the engine pulls both values from the lookup table.

The per-entity override extends to CPI itself: if an engagement team has a more-recent or alternative CPI series (some Argentinian entities use IPC nacional vs. IPCBA depending on regional weighting), the YAML accepts a per-entity CPI override. This rarely matters — the IPTF list pretty much settles on a national-level index — but the option is there.

The monetary-position gain/loss calculation

The monetary-position gain or loss is the most distinctive output of an IAS 29 restatement. Conceptually, it captures the real-purchasing-power impact of holding monetary balances through a period of inflation. Mechanically, it's a balancing figure: after restating non-monetary items and computing the period's restated income statement, the difference between the restated assets and the restated liabilities + restated equity is the monetary-position gain/loss.

VynFi computes this directly. For each hyperinflationary entity, the engine maintains a monetary/non-monetary classification of every balance-sheet line: cash and receivables are monetary, PPE and inventory are non-monetary, equity is non-monetary, debt is monetary. After restating non-monetary balances forward to the balance-sheet date and restating income-statement lines to the average-period or transaction-date factor, the implied gain or loss on the monetary position appears as a balancing entry. This entry flows to the income statement as 'Gain/(loss) on net monetary position' — a separate line item per ¶29.

A worked Argentina example: ARS 1,000,000 revenue → restated to closing index

Take Acme Argentina. In Q1 2025, it earns ARS 1,000,000 in revenue (averaged across the quarter). The Q1 average CPI is, say, 4,000.0; the closing CPI for the period is 5,200.0 (a 30% inflation rate for the quarter — Argentina's recent run rate). Under IAS 29 ¶26, Q1 revenue must be restated to the closing measuring unit:

  • Source: Q1 2025 average CPI = 4,000.0
  • Target: Q1 2025 closing CPI = 5,200.0
  • Restatement factor: 5,200.0 / 4,000.0 = 1.30
  • Restated revenue: ARS 1,000,000 × 1.30 = ARS 1,300,000

Three observations. First, the restated revenue is higher in nominal terms — but that's expected; it's measured in the more-debased currency unit. Second, in real terms (purchasing power at Q1 average), the entity earned exactly what the original number says — ARS 1,000,000 of average-period purchasing power. Third, when this restated entity is consolidated into a parent group whose presentation currency is, say, EUR, the Q1 EUR equivalent is computed using the closing EUR/ARS rate applied to the restated ARS — not the average rate applied to the original ARS. This is one of the corner cases where IAS 29 interacts with IAS 21, and it's a frequent source of error in hand-built test data.

The 4-period chain implication: CPI compounding over time

When VynFi runs a multi-period chain — 2 to 12 periods linked together with closing-balance carryover — IAS 29 has to thread correctly across period boundaries. The closing balances of period N (already restated to period N's closing index) become the opening balances of period N+1. But period N+1's restatement factor is different — it's the CPI movement from N's close to N+1's close. The engine handles this as a fresh restatement: opening non-monetary balances are re-stated using N+1's factors, and the resulting figures roll forward as the new opening basis.

Across a 4-quarter chain in Argentina at 30% per-quarter inflation, the CPI compounds: 1.30 × 1.30 × 1.30 × 1.30 = 2.86×. An asset held for the full year at constant nominal carrying value would be restated to roughly 2.86× its original carrying value by year-end. The engine surfaces this in the multi-period rollforward visualisation tab so reviewers can see how each period contributed to the cumulative restatement. No black-box calculation; every restatement event is auditable.

Audit firm checklist: what to validate in restated financials

When reviewing IAS 29 restatement work — whether on synthetic test data or on a live engagement — there's a relatively short checklist that catches most of the common errors. VynFi's audit trail emits each item explicitly, so reviewers can tick through quickly:

  • **Hyperinflation status** — is the entity correctly flagged for IAS 29? Cross-check against the current IPTF list. (VynFi: see the Hyperinflation Summary tab, with override-vs-default tracking per entity.)
  • **CPI source** — which index is being used? National-level CPI? An alternative regional CPI? Is it the most-recent published series? (VynFi: each restatement event records the CPI series ID and version.)
  • **Monetary/non-monetary classification** — is each balance-sheet line correctly classified? Common errors: classifying advance payments to suppliers as monetary when they're non-monetary; classifying deferred tax liabilities as non-monetary when they're monetary in many cases.
  • **Restatement factors** — are non-monetary items restated using factors that go from acquisition date (or last restatement) to balance-sheet date? Are income-statement items restated using transaction-date or period-average factors?
  • **Gain/loss on net monetary position** — does it appear as a separate line in P&L? Is the magnitude reasonable given the entity's net monetary position and the period inflation?
  • **Consolidation interaction with IAS 21** — when consolidating a hyperinflationary subsidiary into a parent with a different presentation currency, is the restated balance translated at the closing rate (not historical or average)? IAS 29 ¶35 + IAS 21 ¶42-43.

Each of those items is a frequent flag in real engagements, and each is generated correctly by the engine when IAS 29 is enabled. Hand-built test data almost always misses two or three of them; trainees who learn on hand-built data go on to miss the same two or three when they meet the live engagement.

Try it

VynFi 2.7's IAS 29 support is part of the existing Group Audit feature (Enterprise tier, no new SKU). If you're auditing a group with operations in Argentina, Turkey, Lebanon, or any other hyperinflationary jurisdiction — or if you're a methodology team building IAS 29 training material — contact sales for a guided walkthrough on a 12-entity group with one or two hyperinflationary subsidiaries.

Background reading: the Group Audit landing page covers the full v2.7 feature surface. The IFRS 3 step-acquisition post covers the business-combinations side. The IAS 36 CGU impairment post covers the goodwill-impairment side and how it interacts with hyperinflation when goodwill sits in a hyperinflationary CGU.

Ready to try VynFi?

Start generating synthetic financial data with 10,000 free credits. No credit card required.