Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 4 of 5

Tax and currency

10 min

Tax and foreign currency are where AP and AR tests most often pass on screen and fail in the ledger. The invoice saves, the payment clears, and the defect sits quietly in a tax account or an exchange rate difference account until someone reconciles it at quarter end. The cure is to test the journal entry lines, not the save message.

Tax codes on invoices

Every taxable line on an invoice carries a tax code. The tax code points to a rate and to the G/L accounts the tax posts to through the country's tax calculation procedure. In the US, Contoso uses sales and use tax with jurisdiction codes, so the rate depends on where the goods are delivered, and the calculation may come from an external tax engine connected to SAP. Tax codes are maintained with FTXP; testers do not change them, but they should know which codes the business uses and what each should post.

VariantExampleExpected posting
Taxable saleAlternators to a Michigan fleet customerReceivable includes tax; output tax posted to the sales tax payable account
Exempt saleCustomer with a valid exemption certificateNo tax line; exemption reason recorded as designed
Supplier charges taxLakeside Components invoice with sales taxTax included in the payable and in the cost or inventory value, as US sales tax is generally not recoverable
Self-assessed use taxSupplier did not charge tax on a taxable purchaseUse tax accrued to the use tax payable account; supplier paid net
Mixed invoiceTaxable and non-taxable lines on one invoiceTax only on the taxable lines
AP and AR tax variants for company code 1710. The codes are Contoso's examples; use your own tax code list.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-306

Two details catch teams out. First, cash discount and tax: whether the discount base includes tax, and whether tax is adjusted when the discount is taken, are company code settings. When a scenario takes a 2% discount, check that the tax line behaves as finance expects. Second, rounding: an invoice with many lines can produce tax that differs by a cent from the supplier's paper invoice. Agree in advance which result is correct.

Foreign currency invoices

When Contoso buys from a Canadian supplier, the invoice is in CAD and the company code currency is USD. SAP translates the invoice at the exchange rate valid on the translation date, usually rate type M, the standard average rate, from the rate table. When the invoice is paid later at a different rate, the USD value of the payment differs from the USD value of the invoice. That difference is a realized exchange rate difference, posted automatically to a gain or loss account at clearing.

  1. InvoiceCAD 10,000 at 0.74 → payable of USD 7,400
  2. Rate movesOn the payment date the rate is 0.72
  3. PaymentCAD 10,000 paid; bank credited USD 7,200
  4. ClearingSupplier debited USD 7,400 to clear the invoice in full
  5. DifferenceUSD 200 credited to the realized exchange gain account
A CAD supplier invoice paid at a different rate. Contoso's payable falls in USD value, so it books a realized gain.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-306

The accounts for realized gains and losses are assigned per reconciliation account (and per open-item-managed G/L account) in configuration, so a test should check that the gain or loss went to the account finance expects. For AR the logic reverses: a receivable that loses USD value before the customer pays produces a realized loss.

Period-end foreign currency valuation is related but different. It revalues open items at the closing rate and posts an unrealized difference to a balance sheet adjustment account. If the item is cleared after it was valued, SAP reverses the valuation adjustment and posts the remaining difference as realized. Include one scenario that crosses a period end: post the invoice, run valuation, then pay. It is the scenario most likely to expose wrong account assignment.

  1. Did the invoice translate at the rate in the rate table for its translation date?Yes → next question · No → check the rate type and rate table entry
  2. Does the payment clear the full document currency amount?Yes → next question · No → a residual or partial item exists; check the policy
  3. Is there a realized gain or loss line for the USD difference?Yes → next question · No → defect, unless the rates were identical
  4. Did it post to the account finance expects, with any prior valuation reversed?Yes → pass · No → log an account determination defect
Checking a foreign currency clearing in the journal entry.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-306

Rates are test data too

Exchange rates in QAS are often out of date or copied from production on the refresh day. If a test needs a rate move, maintain the rates for your test dates in the rate table (finance or a key user usually owns this, through OB08 or the Currency Exchange Rates app) and record them in the test data sheet. A missing rate produces an error message at posting, which is a useful negative test in its own right.

What would you do?

Priya's tester reports that a CAD invoice from a Canadian supplier was paid and cleared correctly, with evidence of the cleared item. Dan opens the payment's journal entry and finds the 200 USD difference posted to a general expense account instead of the realized exchange gain account. How should the test be recorded?

Key points
  • Test tax by checking tax lines and accounts in the journal entry, against a table agreed with the tax team.
  • Cover taxable, exempt, supplier-charged, self-assessed and mixed invoices, and check discount and rounding effects on tax.
  • Paying a foreign currency item at a different rate posts a realized exchange difference at clearing.
  • Include a scenario that crosses period-end valuation before payment.
  • Maintain and record exchange rates for test dates; a missing rate is a good negative test.

Check your understanding · not graded

Lesson check

  1. 1. Which transaction maintains tax codes in SAP GUI?

  2. 2. A USD 7,400 payable (CAD 10,000) is paid when CAD 10,000 equals USD 7,200. What should the clearing post?

  3. 3. What does period-end foreign currency valuation post for an open item?

  4. 4. Who should provide the expected tax amounts for each scenario?