Expand description
Hyperinflationary-economy accounting under IAS 29 / ASC 830.
When an entity’s functional currency is the currency of a hyperinflationary economy, IAS 29 requires the entity to restate its non-monetary items using a general price index so the financial statements are stated in terms of the measuring unit current at the end of the reporting period. v5.0 / v5.1 did not handle this — every entity went through the standard IAS 21 translation path which produces nonsense results once cumulative inflation crosses ~100 %.
v5.2 ships the typed model + arithmetic helpers; the integration
with the IAS 21 translation pipeline (translate_entity_tb /
cta_rollforward) is a follow-up.
§Standards reference
- IAS 29 § 3 — characteristics of a hyperinflationary economy (cumulative 3-year inflation approaching or exceeding 100 %; the general population prefers a stable foreign currency to keep its wealth; etc.). IAS 29 does not establish an absolute rate at which hyperinflation is deemed to arise — it’s a matter of judgement.
- IAS 29 § 8 — the financial statements shall be stated in terms of the measuring unit current at the end of the reporting period. Comparative figures are also restated.
- IAS 29 § 12 — non-monetary items carried at historical cost are restated by applying the change in the general price index between the date of acquisition (or revaluation) and the reporting date.
- IAS 29 § 13 — non-monetary items at current value (e.g. inventories at NRV) are NOT restated (already at current measuring unit).
- IAS 29 § 27 — the net gain or loss on the net monetary position is included in profit or loss for the period. It represents the loss of purchasing power on monetary items (cash, receivables, payables).
- IAS 21 § 39 / IAS 29 § 33 — when restated financial statements of a hyperinflationary subsidiary are translated into the group’s (non-hyperinflationary) presentation currency, the closing rate is used for ALL items (not the spot/average split that IAS 21 normally prescribes).
§Scope
v5.2 ships:
HyperinflationStatusentity-level flagGeneralPriceIndexCPI series + index lookupIndexedRestatementline-item restatement recordNetMonetaryPositionGainLosshelper for the IAS 29 § 27 purchasing-power gain/loss calc
The wiring to actually drive these through translate_entity_tb
is a follow-up tracked in the README.
Structs§
- General
Price Index - Time series of general-price-index (CPI) observations for a hyperinflationary economy. The index is monotonically non-decreasing in normal use; the lookup helpers tolerate out-of-order dates by sorting on access.
- Indexed
Restatement - One line-item restatement under IAS 29 § 12.
- NetMonetary
Position Gain Loss - IAS 29 § 27 net-monetary-position gain or loss for a period.
Enums§
- Hyperinflation
Status - Hyperinflation status of an entity’s functional currency. Captured per-entity per-period because a country can transition in or out of hyperinflation across reporting cycles (e.g. Argentina entered hyperinflationary status in 2018 per IAS 29 criteria; Türkiye did so in 2022).