A South African SaaS company invoices a United States customer in USD on 1 March. The service runs throughout March, but the customer's payment only settles on 15 April, when the exchange rate has moved. The invoice date, service period, settlement date, and rand value in the bank account all differ.
That timing gap is where revenue recognition accounting earns its keep. The business hasn't necessarily earned revenue when it raises the invoice, and it hasn't necessarily earned it when the cash arrives. Under IFRS 15, the accounting follows the transfer of control and satisfaction of performance obligations. The later foreign-exchange movement belongs to a different part of the accounting record.
Why Revenue Recognition Accounting Matters for South African Exporters
South Africa adopted IFRS 15 Revenue from Contracts with Customers for reporting periods beginning on or after 1 January 2018. The standard replaced IAS 11 for construction contracts and made its five-step model the reporting benchmark for companies applying IFRS in the South African market, as documented in this South African review of IFRS 15 adoption.
For the SaaS company in the opening example, the March service is the economic activity that drives recognition. The 1 March invoice creates a receivable or contract-related balance, depending on the arrangement and payment terms. The 15 April settlement clears that balance, but the difference between the original recognised amount and the rand value received is handled separately as an exchange-rate outcome.
Practical rule: An invoice proves that someone billed a customer. It doesn't, by itself, prove that the business has satisfied a performance obligation.
This distinction matters for exporters because international contracts often combine delivery, installation, support, usage rights, milestones, and payment terms. Billing may happen before delivery, while delivery may happen before cash settlement. A finance team that posts revenue from invoices alone can produce a revenue profile that doesn't reflect what the business delivered.
South African research found that listed-company revenue disclosures were generally orderly, concise, coherent, and appropriately cross-referenced, indicating that many companies had adapted to IFRS 15's disclosure requirements. The same research emphasises that revenue is recognised when a performance obligation is satisfied, not merely when the company invoices or receives cash. See the South African study on IFRS 15 reporting practices for the local context.
The consequences of weak controls aren't limited to an accounting adjustment. Incorrect timing can create audit findings, distort management reporting, complicate tax reconciliations, and make cross-border receipts harder to explain. Teams that want a broader framework for connecting commercial activity to reported income may also find this revenue attribution guide useful, although attribution and IFRS 15 recognition answer different questions.
The Five-Step Model Explained with Real Examples

IFRS 15 gives finance teams a disciplined sequence. The IRBA practice alert on IFRS 15 describes the purpose clearly: revenue should depict the transfer of promised goods or services in an amount that reflects the consideration the entity expects to receive.
Identify the contract
A signed document isn't enough on its own. The arrangement needs approval, identifiable rights for each party, identifiable payment terms, commercial substance, and probable collection. Those conditions are particularly important where a South African exporter works with a new overseas customer or an intermediary.
For example, a consulting firm shouldn't treat a disputed, unapproved statement of work as ordinary revenue merely because it issued an invoice. Finance should retain the contract, approval record, customer correspondence, and evidence supporting collectability.
Identify performance obligations
Next, identify each distinct promise. A SaaS arrangement might include access to hosted software, implementation, data migration, and support. A physical-goods contract might contain the product itself, installation, and a separately identifiable maintenance service.
The question is whether the customer receives a distinct good or service, and whether each promise can be accounted for separately. Bundling everything into one obligation because it appears on one invoice is convenient, but it can produce the wrong recognition pattern.
Determine the transaction price
The transaction price isn't always the invoice total. It can include variable consideration such as rebates, discounts, service-level penalties, usage charges, or performance bonuses. South African Institute of Taxation guidance explains that variable amounts must be estimated and considered in the allocation process, rather than ignored until settlement. Review the SAIT IFRS 15 guidance for that contract-analysis perspective.
A distributor offering a rebate should record its best supported estimate, subject to the standard's constraint on variable consideration. The finance team should document the basis, assumptions, and later revisions.
Allocate the transaction price
Allocate consideration across performance obligations using relative standalone selling prices. If a software provider sells implementation and an ongoing subscription as one package, it needs support for what each would sell for separately.
That evidence might come from observable list prices, comparable transactions, or a documented pricing methodology. A discount shouldn't automatically be assigned to the first item delivered unless the contract and facts support that treatment.
Recognise revenue as obligations are satisfied
The final step asks when control transfers. A delivered product may be recognised at a point in time, while a hosted service is commonly recognised over the period in which the customer receives access.
The entry should follow the fulfilment evidence, not the bank statement. A finance team might debit accounts receivable when it has an enforceable right to consideration, then recognise revenue as delivery or service performance occurs. Cash settlement later clears the receivable and doesn't rewrite the original recognition date.
Practical Scenarios for SaaS, Goods, and Cross-Border Exports
The same five-step model produces different accounting results because the performance obligation differs. A subscription, an exported machine, and a consulting milestone each require separate evidence of what the customer received and when.
SaaS subscription
Suppose a South African SaaS provider invoices an annual subscription upfront. The invoice establishes the amount billed, but the hosted access is delivered over the subscription period. The provider records the receivable or cash against a contract liability, then releases revenue as the customer receives the service.
A simplified pattern is:
- At invoicing: Debit accounts receivable, credit contract liability.
- As service is delivered: Debit contract liability, credit subscription revenue.
- At settlement: Debit bank, credit accounts receivable.
The key judgement is whether implementation, configuration, support, and hosted access are distinct. A useful commercial comparison is the products as a service guide, particularly for businesses whose customers pay for continuing access rather than a single transfer.
Physical goods export
A manufacturer exporting goods must inspect the delivery terms and the actual transfer-of-control facts. Shipment may be the relevant point for one arrangement, while delivery to the customer may be the relevant point for another. Incoterms, insurance responsibility, acceptance clauses, title provisions, and customer control all matter.
A simplified entry when the obligation is satisfied is a debit to accounts receivable and a credit to revenue. The export documentation, bill of lading, proof of delivery, customer acceptance, and contract terms should support the selected date.
Milestone-based consulting
A consulting firm may invoice on signing, at a project milestone, or after client acceptance. None of those dates automatically determines revenue. The firm must identify distinct deliverables and recognise each obligation when the agreed work is completed, or over time if the customer receives and controls the benefit as the work occurs.
| Business Model | Performance Obligation | Recognition Timing | Key Judgment Call |
|---|---|---|---|
| SaaS subscription | Hosted access and related distinct services | As access or each service is delivered | Whether implementation and support are separate |
| Exported goods | Transfer of the specified products | When control transfers | Shipment, delivery, acceptance, and contract terms |
| Milestone consulting | Distinct reports, deliverables, or integrated service | At milestone completion or over time | Whether the customer receives benefit during performance |
The practical discipline is to attach each journal entry to fulfilment evidence. Payment terms explain when cash should arrive. They don't replace the performance analysis.
Common Pitfalls and How to Avoid Them
The most common error is also the easiest to spot. Finance teams treat the invoice date as the revenue date because the invoice is visible, measurable, and already in the accounting system. IFRS 15 requires a different question: what did the customer receive, and when did control transfer?
A South African exporter that invoices before shipment may have a receivable without revenue. A SaaS provider that collects an annual fee upfront may have cash without fully earned income. The corrective control is a contract-to-revenue schedule that records invoice date, fulfilment date, performance obligation, and recognition method separately.
Variable consideration gets ignored
Rebates, discounts, penalties, and performance bonuses can change the consideration the entity expects to receive. Leaving them out until the customer settles can overstate revenue or receivables.
The team should maintain a written estimate, identify the person responsible for updating it, and compare the estimate with subsequent credit notes or settlements. The estimate should be allocated to the relevant obligations using supported standalone selling prices.
FX gets mixed into revenue
A USD invoice recognised when services are delivered has a rand equivalent at the recognition date. If the customer settles later at a different rate, the movement isn't a reason to revise the original revenue entry. Exchange differences and bank charges should be recorded separately, so management can see both operating performance and treasury outcomes.
Separate the questions: Revenue asks when the customer received the promised service or goods. FX accounting asks what happened to the foreign-currency monetary balance before settlement.
Judgements aren't documented
Auditors need more than a conclusion. They need the contract clause, delivery evidence, pricing analysis, variable-consideration estimate, and explanation for point-in-time or over-time recognition.

A short monthly review can catch errors before close. Match the subledger to the general ledger, inspect unusual credit notes, review unfulfilled invoices, and investigate foreign-currency receivables that remain open.
Implementation Checklist for South African SMEs
Small finance teams don't need a large transformation programme to improve revenue recognition accounting. They do need an owner, a written policy, and evidence that connects each material contract to the entry posted in the ledger.
Start with the contract population
List the contract types that generate revenue, including exports, subscriptions, consulting assignments, renewals, upgrades, and bundled offers. Finance should work with sales and operations because the invoice alone may omit promised services or customer acceptance conditions.
Retain signed agreements, purchase orders, amendments, delivery records, service logs, acceptance records, and relevant correspondence. If a contract changes, preserve the original terms and the approval trail for the modification.
Map obligations and pricing
For each contract type, identify the promises and decide which are distinct. Then document the standalone selling price methodology. A price list may be enough for a standard offering, while a bundled export or customised service may require a more considered analysis.
Create a variable-consideration register covering discounts, rebates, refunds, penalties, and bonuses. The register should show the estimate, support, responsible reviewer, and date of reassessment.
Set recognition policies
Write down the trigger for each obligation. For goods, that may be shipment, delivery, or acceptance depending on the terms and control indicators. For SaaS, it may be the period of hosted access. For consulting, it may be delivery of a distinct milestone or progress over time.
A useful policy matrix should include:
- Contract type: The commercial arrangement and customer category.
- Obligation: The distinct good or service promised.
- Evidence: The document proving transfer or fulfilment.
- Entry: The account treatment for receivable, contract liability, and revenue.
- Reviewer: The person who approves exceptions.
Build audit-ready controls
Assign commercial staff to provide contracts and fulfilment evidence, operations to confirm delivery, and finance to determine treatment and post entries. Escalate unusual modifications, complex bundles, and significant variable consideration to an IFRS adviser or auditor early, not during the final audit request cycle.
Reconcile recognised revenue and contract balances to the general ledger each close. Keep an exception log for invoices issued before fulfilment, overdue foreign-currency receivables, disputed contracts, and manual journals.

Use the video below as supplementary training material for staff who need a practical introduction to the workflow.
FX, Cross-Border Payments, and Revenue Recognition
Cross-border payment mechanics can obscure a straightforward IFRS 15 conclusion. A South African exporter may recognise revenue when control transfers, yet receive the customer's money later, after the currency has moved and the bank has deducted charges. The accounting record needs to preserve those separate events.
At recognition, translate the foreign-currency consideration using the applicable accounting policy and record the revenue and related receivable. While the receivable remains a monetary foreign-currency balance, subsequent exchange movements belong in the appropriate foreign-exchange gain or loss account. Bank fees are also separate from the revenue line.

The separation becomes especially important when the settlement date doesn't match the delivery date. A shipment can support revenue recognition before the customer pays, while a later remittance creates a treasury and compliance event. Finance should retain the invoice, contract, shipping or service evidence, exchange-rate basis, bank advice, and reconciliation showing how the receipt cleared the receivable.
Non-resident payment compliance also requires attention. The Financial Surveillance Department issued an interim guideline note on payments to non-residents in December 2025, which shows that the South African compliance environment remains active and subject to change. The relevant IFRS 15 standard overview remains the accounting reference point, but it doesn't replace the need to check current banking, exchange-control, and payment documentation requirements.
Payment platforms can reduce operational friction by showing the conversion rate, charges, beneficiary details, and settlement status clearly. That improves reconciliation and cash forecasting, but it doesn't change the date on which IFRS 15 revenue is recognised. Accounting policy and payment execution should work together without being treated as the same process.
Building Credibility Through Transparent Revenue Accounting
Transparent revenue recognition is a commercial asset for South African exporters. International customers, lenders, investors, and auditors want financial statements that explain not only how much revenue was reported, but why it was reported in that period.
A disciplined policy gives management a reliable view of earned income, deferred amounts, receivables, and foreign-exchange results. It also makes difficult conversations easier. When a customer disputes delivery, a finance team with clear performance-obligation records can distinguish an operational issue from a billing issue and an accounting issue.
The strongest operating model has four characteristics:
- A consistent five-step analysis: Every material contract passes through the same framework.
- Documented judgement: The company records why control transfers at a particular point or over a particular period.
- Separate FX reporting: Exchange gains, losses, and bank charges don't distort operating revenue.
- Visible settlement controls: The finance team can reconcile receipts, fees, currency conversion, and non-resident payment documentation.
This approach may require more work upfront than posting invoices automatically. It saves management from reconstructing decisions during an audit and gives commercial teams better information about the consequences of payment terms, delivery clauses, rebates, and bundled pricing.
South African SMEs don't need to treat IFRS 15 as a back-office formality. A clear revenue policy signals that the business understands its contracts, controls its close, and can explain its numbers to stakeholders outside South Africa. That credibility matters when the company expands its export base or sells recurring services internationally.
Zaro helps South African businesses manage cross-border receipts and payments with transparent foreign exchange, ZAR and USD accounts, and controls designed for finance teams. Visit Zaro to see how clearer settlement records can support your revenue recognition and FX reconciliation processes.
