- Home
- Products
- SAP RAR
SAP RAR: when does a sale become revenue?
An invoice is not revenue. Under IFRS 15, ASC 606 and Brazil’s CPC 47, revenue follows the promises you keep, and SAP Revenue Accounting and Reporting (RAR) is the engine that makes that split.
- SAP S/4HANA
- SAP ERP add-on
- IFRS 15 · ASC 606 · CPC 47
1,200.00300.00Service planOver time900.00- Ordered
- Delivered
- Invoiced
- Posted
What SAP RAR is
Billing tells you what you charged. RAR tells you what you earned.
In a plain sale, the two are the same: you ship a box, you invoice it, you book revenue. They drift apart the moment a deal mixes things delivered at different times, like a phone handed over today with a plan that runs for two years, or software with a year of support. IFRS 15 then asks you to split the price over each promise and book each part when you deliver it. RAR does that split. It reads your sales documents, keeps its own revenue accounting contract as the accounting view of the deal, and posts the result to the ledger at period end.
This guide is written for people who have never opened RAR. It follows one sales order through it, lists the transactions key users and consultants use every month, and answers the questions people ask most. The standard behind it all: IFRS 15.
- 1
Operational view
Sales, logistics, billingSales orders, deliveries and invoices in SD, BRIM, CRM or another system. They keep working exactly as before and send each event to RAR.
VA01VL01NVF01
- 2
Revenue accounting contract
The accounting view of the dealRAR’s own object: one contract with a performance obligation (POB) for each promise, the price allocated over them and a revenue schedule.
FARR_RAI_MONManage Revenue Contracts
- 3
General ledger
What the auditors seeAt period end, three programs calculate revenue, contract assets and liabilities and post them. In S/4HANA the result lands in the Universal Journal.
FARR_REV_POSTACDOCA
Senders with native integration: SAP SD, SAP Billing and Revenue Innovation Management (BRIM), SAP CRM and SAP S/4HANA Service. Other systems can send data too, in the same format. SAP PRESS
Do you need RAR? A 30-second check
Tick what is true for your company. A rule of thumb for a first conversation, not accounting advice.
of 5 ticked
- 0–1 tickedProbably not, for now.If revenue simply follows delivery or billing, the standard SD postings may be enough. Confirm with your auditors before deciding.
- 2–3 tickedWorth a closer look.Compare RAR with event-based revenue recognition (further down this page), which posts in real time from sales orders, projects and service documents.
- 4–5 tickedRAR territory.Bundles, allocation, contract changes and parallel accounting principles are what RAR was built for.
The standard behind it
Five steps of IFRS 15, and where RAR does each one
IFRS 15 and the US standard ASC 606 were published together in May 2014 and took effect for periods starting on or after 1 January 2018. They replaced IAS 11, IAS 18 and four interpretations with one five-step model. RAR was built around that model, step by step. Timeline: ICAEW.
- 1
Identify the contract
An agreement with a customer that creates enforceable rights and obligations.In RAR
RAR creates a revenue accounting contract when the first item of a sales document is processed. It is the accounting view of the deal, not the sales contract, and contracts can be combined when the standard requires it.
Consultant: Contract categories and number ranges (FARR_CONTRACT_NR); combination by rule or by hand in the contract UI.
- 2
Identify the performance obligations
Each distinct good or service the customer was promised.In RAR
Each order item usually becomes a performance obligation (POB). RAR adds linked POBs for implicit promises, such as a free service, and can group items into compound POBs or BOM hierarchies. POBs that came from a document cannot be deleted; manual and linked ones can.
Consultant: Define Performance Obligation Types; POB type and attributes derived by a BRF+ decision table.
- 3
Determine the transaction price
What the company expects to receive, including variable amounts.In RAR
RAR reads the price conditions from the sender: SD pricing, BRIM or the external system. Changes and invoices that arrive later update the price.
Consultant: Reserved condition types, condition types not requiring allocation and roles for condition types in contract Customizing.
- 4
Allocate the price
Split the price over the obligations in proportion to their standalone selling prices.In RAR
RAR finds a standalone selling price (SSP) for each POB and allocates the price. The difference to the contractual price is the allocation effect; across one contract the effects add up to zero.
Consultant: SSP from a BRF+ decision table or a condition sent by SD; the consistency check category E1 tests the zero sum.
- 5
Recognize revenue
When, or as, each obligation is satisfied: at a point in time or over time.In RAR
POBs are fulfilled by an event (goods issue, invoice, proof of delivery), by time between a start and an end date, by percentage of completion, or by hand. RAR keeps a revenue schedule for each one.
Consultant: Define Fulfillment Event Types; fulfillments stored in FARR_D_FULFILLMT, the schedule in FARR_D_DEFITEM.
Try it
The handset puzzle: why a “free” phone is not free
When SAP put RAR 1.1 into ramp-up in November 2015, its announcement singled out telecom carriers: the new rules change how they split revenue between a handset’s standalone price and the monthly plan sold with it. Here is that deal. The customer pays 50 a month for 24 months and gets the phone for nothing. Pick the phone’s standalone price, move the months and watch what IFRS 15 does.
Phone’s standalone selling price
The plan alone would cost 24 × 50 = 1,200.
Example: the phone’s standalone price is 400 and we are in month 6 of 24.
525300225- Revenue (IFRS 15)
- Billing
- Contract asset
| Performance obligation | Contract price | Standalone price | Allocated | Allocation effect |
|---|---|---|---|---|
| Smartphone · point in time | 0 | 400 | 300 | +300 |
| Service plan · 24 months | 1,200 | 1,200 | 900 | −300 |
| Contract total | 1,200 | 1,600 | 1,200 | 0 |
- Day one jumps. The phone is delivered at once, so its share of the price is revenue on day one, although nothing has been billed. The gap is a contract asset that shrinks with every monthly bill and reaches zero in month 24.
- Effects net to zero. What the phone gains, the plan gives up. RAR’s consistency check (category E1 in FARR_CONTR_MON) tests exactly that: the allocation effects of a contract must add up to zero.
- The total never changes. After 24 months revenue equals billing: 1,200 either way. IFRS 15 changes when revenue appears, not how much.
The zero-sum check: SAP Community, consistency check report in RAR.
The RAR process
Follow one sales order through RAR
Every document in SD (order, delivery, invoice) sends a revenue accounting item (RAI) to RAR. Items are checked, turned into a contract and performance obligations, and at period end three programs post the result. Pick a step.
- SD · BRIM · CRM · external
- Revenue accounting items
- Contracts and POBs
- Period-end programs A · B · C
- General ledger
What happens · step 1 of 8
Sales order saved
When a sales order with revenue-relevant items is saved, SD sends one order item per line to RAR as a revenue accounting item (RAI). Nothing is posted to the ledger yet.
Where you see it
The RAI monitor, or the Fiori app Manage Revenue Accounting Items.
FARR_RAI_MON
Under the hood
Order items arrive in the item class for SD orders (SD01 with source item type SDOI in many systems). Upload rules decide whether items arrive as Raw or Processable.
FARRICSD01SDOI
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Community (inbound processing; goods issue walkthrough), community configuration guide.
What happens · step 2 of 8
Checked: Raw to Processable
Raw items have had no checks. Moving them to Processable validates master data and the company code. Errors stop here, which keeps bad data out of contracts.
Where you see it
The mass transfer, or the monitor button. Failures are in the application log.
FARR_RAI_TRANSSLG1
Under the hood
Each item class and status has its own pair of tables, one for main items and one for conditions. Enhancements can enrich and check items before they reach Raw and Processable.
Main itemsConditions
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Help (RAI monitor), SAP Community (inbound processing).
What happens · step 3 of 8
Contract and POBs built
Processing creates or updates the revenue accounting contract. Each order item usually becomes a performance obligation, rules add linked ones for implicit promises, and RAR allocates the price using standalone selling prices.
Where you see it
The mass processing run, then the contract in Manage Revenue Contracts.
FARR_RAI_PROC
Under the hood
A BRF+ application copied from FARR_AP_SD_PROCESS_TEMPLATE derives POB type and SSP. POB IDs became character fields for performance; check custom code (SAP Note 2672794).
FARR_D_CONTRACTFARR_D_POB
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Help (RAI monitor), SAP PRESS, community configuration guide.
What happens · step 4 of 8
Goods issue posted
The goods issue sends a fulfillment item. RAR fulfills the event-based POB for the delivered quantity and recognizes its allocated revenue, plus the matching cost when cost recognition is used.
Where you see it
The delivery in SD, the fulfillment item in the monitor.
VL01NFARR_RAI_MON
Under the hood
Fulfillment class (SD02 with item type SDFI in many systems); event types in Define Fulfillment Event Types.
FARR_D_FULFILLMTSD02
Item classes, BRF+ and tables for this step are in the Consultant view.
Source: SAP Community (goods issue and time-based fulfillment walkthrough).
What happens · step 5 of 8
Invoice posted
SD posts the invoice to accounts receivable as always. An invoice item also goes to RAR, which takes the billed amount back out of revenue against the receivable adjustment account: billing is not revenue.
Where you see it
The billing document in SD, the invoice item in the monitor.
VF01FARR_RAI_MON
Under the hood
Invoice class (SD03 with item type SDII in many systems). Invoice amounts feed the contract asset and liability calculation.
FARR_D_DEFITEMSD03
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Help (revenue-related events and postings), SAP Community.
What happens · step 6 of 8
A · Transfer revenue
Calculates the revenue to recognize in the period, including time-based POBs. It creates no accounting document.
Where you see it
The transaction or the Fiori app Transfer Revenue.
FARR_REV_TRANSFER
Under the hood
Errors in this step can be handled by moving the revenue to the next period.
FARR_D_DEFITEM
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Community (period-end activities; revenue postings in RAR).
What happens · step 7 of 8
B · Contract assets and liabilities
Compares revenue recognized with what has been invoiced. Revenue ahead of invoices gives a contract asset; invoices ahead of revenue give a contract liability. Still no accounting document.
Where you see it
The transaction or the Fiori app Calculate Contract Liabilities and Assets.
FARR_LIABILITY_CALC
Under the hood
Calculated per POB; the results can be posted per POB (unbilled receivable, deferred revenue) or per contract (contract asset, contract liability).
FARR_D_DEFITEM
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Community (period-end activities; revenue postings in RAR).
What happens · step 8 of 8
C · Revenue posting run
Posts the results to the general ledger. Test mode is on by default, so simulate first and then post. A period can only be posted when every earlier period has been.
Where you see it
The revenue posting run and its job monitor.
FARR_REV_POST
Under the hood
Data is staged in FARR_D_POSTING and grouped by reconciliation key: one per company code, accounting principle and period. With direct posting (2021 on, optimized contract management only) entries go straight to ACDOCA and this step is not needed.
FARR_D_POSTINGACDOCA
Item classes, BRF+ and tables for this step are in the Consultant view.
Sources: SAP Help (revenue posting; reconciliation), SAP Community (revenue postings in RAR).
Three statuses every RAI goes through
The RAI monitor shows items in any status. A stuck item almost always sits in one of these. Source: SAP Help.
Raw
The item has arrived from the sender. No checks have run yet.
Next: Transfer to Processable (FARR_RAI_TRANS or the monitor button).
Processable
Master data and company code have been validated. The item is ready to build or change a contract.
Next: Process it (FARR_RAI_PROC or the monitor button).
Processed
The contract and its POBs have been created, changed or fulfilled.
Next: Nothing. Changes after this arrive as new items.
In the log
An item that failed stays where it was. The reason is in the application log.
Next: SLG1, object FARR. Emergency changes to items are possible but logged.
Accounting
Who posts what: the receivable adjustment account
SD still posts the invoice. RAR then moves amounts in and out of one clearing account, the receivable adjustment account, until each part of the price sits where it belongs: revenue, deferred revenue or unbilled receivable. Pick an event; the amounts are only an example. The logic is from SAP Help.
| Posted by | Debit | Credit | Amount |
|---|---|---|---|
| SD billing | Accounts receivable | Billed revenue | 1,000 |
| RAR | Recognized revenue | Receivable adjustment | 1,000 |
Billing is not revenue
SD books the invoice exactly as before. RAR takes the billed amount back out of revenue against the receivable adjustment account, because no promise has been kept just by invoicing.
| Posted by | Debit | Credit | Amount |
|---|---|---|---|
| RAR | Receivable adjustment | Recognized revenue | 300 |
| RAR | Recognized COGS | Deferred cost | 200 |
Revenue follows delivery
When a performance obligation is fulfilled, its allocated revenue moves from the receivable adjustment account to revenue. With cost recognition, deferred cost becomes cost of goods sold at the same moment.
| Posted by | Debit | Credit | Amount |
|---|---|---|---|
| RAR | Unbilled receivable | Receivable adjustment | 500 |
Revenue ahead of invoices
At period end, if cumulative revenue (1,500) is above cumulative invoices (1,000), the difference becomes an unbilled receivable, or a contract asset at contract level. The next invoice clears it.
| Posted by | Debit | Credit | Amount |
|---|---|---|---|
| RAR | Receivable adjustment | Deferred revenue | 300 |
Invoices ahead of revenue
If cumulative invoices (1,000) are above cumulative revenue (700), the difference becomes deferred revenue, or a contract liability at contract level. It clears as revenue is recognized.
Two pairs of names
Unbilled receivable and deferred revenue are worked out per performance obligation against the invoice date. Contract asset and contract liability are netted per contract against the invoice due date.
SAP HelpNo tax in RAR postings
Revenue postings carry no input or output tax; tax-related accounts get a zero-rate tax code. Tax stays on the invoice.
SAP HelpExchange rates too
When the receivable adjustment balance moves with the exchange rate, RAR posts a gain or loss to the accounts set in OB09.
SAP Help
Quick test
Point in time or over time?
Step 5 decides when revenue appears, and it decides how a performance obligation is set up in RAR. Guess first, then open a card. Two of these surprise most people.
A laptop shipped to a business customerShow the answer
Point in timeControl passes on delivery. In RAR: an event-based POB fulfilled by the goods issue.
Source: IFRS 15, paragraph 3812 months of software support, paid upfrontShow the answer
Over timeThe customer uses the service as it is delivered. In RAR: a time-based POB; the upfront invoice waits as a contract liability.
Source: IFRS 15, paragraph 35(a)A custom machine built on the customer’s siteShow the answer
Over timeThe customer controls the asset while it is being built. In RAR: usually percentage of completion fed by a project.
Source: IFRS 15, paragraph 35(b)A right-to-use software licence delivered on day oneShow the answer
Point in timeA right to use the software as it is when granted is recognized when the customer can start using it.
Source: IFRS 15, paragraphs B56 and B61The standard one-year warranty that comes with a TVShow the answer
Not a performance obligationSurprise: a warranty that only promises the product works is a provision under IAS 37, not a POB.
Source: IFRS 15, paragraph B30A three-year extended warranty the customer chose to buyShow the answer
Over timeA warranty sold separately is a service and a POB of its own. In RAR: a time-based POB over three years.
Source: IFRS 15, paragraph B29Loyalty points the customer can redeem next yearShow the answer
Later: when redeemedSurprise: points that give a material right are a separate POB, and their share of the price waits until they are used or expire.
Source: IFRS 15, paragraphs B39 to B43A 36-month cloud subscription billed monthlyShow the answer
Over timeDelivered every day of the term. In RAR: a time-based POB; with monthly billing, revenue and invoices move almost together.
Source: IFRS 15, paragraph 35(a)
Reference
Transactions and apps for key users and consultants
The codes a revenue accountant runs every month, and the ones a consultant needs to set RAR up, migrate and troubleshoot. Filter by who you are or by stage, or type a word. The name column is SAP’s own text; the Source column says where each one was confirmed.
| Code | SAP name | What it is for | For | Stage | Source |
|---|---|---|---|---|---|
FARR_RAI_MON | Revenue Accounting Item Monitor | Shows revenue accounting items in any status, filtered by order, fulfillment or invoice items. From the list you move Raw items to Processable, simulate, process, make emergency changes and see the change history.Fiori: Manage Revenue Accounting Items | Both | Inbound | SAP Help |
FARR_RAI_TRANS | Transfer Revenue Accounting Items | Mass run that moves items from Raw to Processable. For large volumes SAP recommends the mass runs over the monitor buttons. | Key users | Inbound | SAP Help |
FARR_RAI_PROC | Process Revenue Accounting Items | Mass run that processes Processable items: it creates, changes or fulfills contracts and performance obligations. | Key users | Inbound | SAP Help |
SLG1 | Analyze Application Log (object FARR) | When an item fails, the reason is in the application log. Filter by object FARR. | Both | Inbound | SAP Community |
FARR_RAI_PP_MON | Monitor for Parallel Processing Runs | Follows the parallel-processing runs behind mass jobs, useful when a big run ends with some packages in error. | Both | Inbound | SAP text |
| Fiori app | Manage Revenue Contracts | Opens a revenue accounting contract with its POBs, allocated prices, fulfillments and revenue schedule. Revenue accountants also combine contracts, change dates, add manual POBs and enter manual fulfillments. | Key users | Contracts | SAP Community |
FARR_CONTR_HIS | RA - Contract and POB change history | Who changed what on a contract or POB, and when. The first stop when an auditor asks why an allocation moved. | Both | Contracts | SAP text |
FARR_REV_TRANSFER | Transfer Revenue | Period-end step A: calculates the revenue to recognize in the period. Creates no accounting document.Fiori: Transfer Revenue | Key users | Period end | SAP Community |
FARR_LIABILITY_CALC | Calculate Contract Liabilities and Assets | Step B: works out contract assets and liabilities (or unbilled receivables and deferred revenue). Still no accounting document.Fiori: Calculate Contract Liabilities and Assets | Key users | Period end | SAP Community |
FARR_REV_POST | Revenue Posting Service | Step C, the revenue posting run: posts the results to the general ledger. Test mode is the default; simulate, then post. Postings of an earlier job can be reversed.Fiori: Revenue posting run apps (start runs, monitor jobs) | Key users | Period end | SAP Help |
| Fiori app | Posted Amount by Contract | Fiori report with posted, allocated and invoiced amounts by contract and period. Sister reports: Posted Amount by Performance Obligation Type and Revenue Accounting Overview. | Key users | Period end | SAP Community |
FARR_RAI_RECON | Reconciliation RA Items to Contracts | Checks that what arrived as revenue accounting items matches what is in the contracts. | Both | Checks | SAP text |
FARR_CONTR_MON | RA - Consistency monitor | Validates contract data: allocation effects that do not net to zero, schedules that do not match allocations, planned revenue that differs from posted revenue. Runs online or reads saved results. | Both | Checks | SAP Community |
FARR_CONTR_CHECK | RA Contract Consistency Check | Mass version of the consistency check for chosen company codes and accounting principles. Results are saved to table FARR_D_CONS. | Consultants | Checks | SAP Community |
FARRIC_CHECK | Check report for Revenue Accounting | Consistency check of the SD integration component, the part of SD that builds revenue accounting items. | Consultants | Checks | SAP text |
FARR_IMG | Revenue Accounting Customizing | Entry point to RAR Customizing: inbound processing, contracts, POB types, postings and revenue accounting periods. | Consultants | Setup | SAP text |
FARR_RAI_CONF | Config. of Rev. Accounting Items | Maintains revenue accounting item classes: interface components, customer fields, indexes and configuration status. Classes released as productive accept only compatible changes. | Consultants | Setup | SAP Help |
FARR_RAI_GEN | Generation of Rev. Accounting Items | Generates the interfaces and tables of an item class after its configuration changes. In target systems an after-import method can generate them automatically. | Consultants | Setup | SAP Help |
BRFPLUS | BRF+ workbench | Where RAR’s rules live: POB type derivation, SSP and account determination. Start from SAP’s templates, such as FARR_AP_SD_PROCESS_TEMPLATE for SD and FARR_ACC_DETERMINE_TEMPLATE for accounts. | Consultants | Setup | Community guide |
FARR_ACCT_DETER_CUST | Launch A/c Determination Customizing | Opens the account determination rules for contract asset, contract liability, revenue, allocation and deferred cost accounts. | Consultants | Setup | SAP text |
FARR_CONTRACT_NR | Number Range Maintenance: FARR_CTRID | Number ranges for revenue accounting contract IDs. | Consultants | Setup | SAP text |
FARRIC_OL | Revenue Accounting: Operational Load | Brings existing SD documents into RAR at go-live or migration, creating order, fulfillment and invoice items. Migrated documents can no longer be processed by VF44 or VF46. | Consultants | Migration | SAP Community |
FARRIC_OL_EXPERT | Operational load, expert mode | Expert variant of the operational load, also used to reset a migration together with the initial load cleanup. | Consultants | Migration | SAP Community |
FARR_RAI_PROC_LOAD | Initial Load: Process Rev Acc Items | Processes the items of the initial load into contracts and performance obligations. | Consultants | Migration | SAP text |
FARR_IL_CLEANUP | Initial Load: Cleanup | Removes an initial load so it can be run again, as long as the company code is still in migration status. | Consultants | Migration | SAP Community |
FARR_TRANS_CATCHUP | Calculate cumulative catch-up effect | Transition step that calculates the cumulative catch-up effect when existing contracts move to the new revenue rules. | Consultants | Migration | SAP text |
FARR_TRANS_REV_URDR | Reverse Unbilled/Deferred | Transition helper for unbilled and deferred balances. Read the transition guide for your release before running it. | Consultants | Migration | SAP text |
VF44 | Revenue Recognition: Post Revenue | The old SD revenue recognition. It is not available in SAP S/4HANA (simplification item SD_RR); RAR replaces it. | Both | ECC legacy | SAP Community |
VF47 | SD revenue recognition inconsistency check | Checks SD revenue recognition data before migration. Clean SD first, then migrate. | Consultants | ECC legacy | SAP Community |
Nothing matches. Try another word, or pick All.
Revenue accountants get these through role SAP_SR_FARR_REV_ACCOUNTANT_A; auditors get read access through SAP_SR_FARR_REV_AUDITOR_A, which can be limited to company codes and a fiscal year. Source: SAP Help.
Brazil
CPC 47, the NF-e and RAR
Brazil adopted the same model as IFRS 15. What changes in an SAP project is the relationship between what the fiscal documents say and what the ledger shows.
CPC 47 is IFRS 15
Brazil’s CPC 47 (NBC TG 47 for the accounting council) follows IFRS 15 and has applied since 1 January 2018. It replaced CPC 17 on construction contracts, the revenue interpretations attached to CPC 30, ICPC 02 and ICPC 11. Smaller companies follow NBC TG 1000 instead.
CPC 47NBC TG 47
The NF-e still comes from billing
RAR issues no documents. The billing document still creates the nota fiscal and carries ICMS, IPI, PIS and COFINS. RAR’s own postings carry no tax at all: tax-related accounts get a zero-rate tax code.
VF01NF-e
Two clocks, both correct
Fiscal records follow the documents; accounting revenue follows RAR. The same contract can therefore appear in different months in files built from fiscal documents and in the ECD, built from the ledger. Expected, and worth explaining to the tax team and the auditors before the first close.
EFD ICMS IPIECD
How the nota fiscal itself works: NF-e, Brazil’s electronic invoice.
Releases
SAP ERP, S/4HANA classic and S/4HANA optimized
RAR started as an add-on for SAP ERP and became part of SAP S/4HANA in release 1809. Since then SAP added an optimized way of managing contracts (1909), of receiving items (2020) and of posting (2021), while the classic way stays available. Source: SAP PRESS.
| Topic | SAP ERP (ECC) | S/4HANA, classic | S/4HANA, optimized |
|---|---|---|---|
| Product | Add-on SAP Revenue Accounting 130 (REVREC 130), needs at least EHP5 | Part of S/4HANA since 1809 | Part of S/4HANA since 1809 |
| Contract management | Classic | Classic | Optimized (OCM), since 1909 |
| Receiving items | Classic inbound processing | Classic inbound processing | Optimized inbound processing (2020): real time instead of batch |
| Posting | Posting run from the RAR subledger | Posting run from the RAR subledger | Posting run, or direct posting to the Universal Journal (2021) |
| Contract changes | Period-based | Period-based | Day-based changes, freeze periods on time-based POBs |
| Early termination | Hard to handle | Hard to handle | Standard function |
| Reports | Web Dynpro sample reports | SAP Fiori report library | SAP Fiori report library |
| SD revenue recognition (VF44) | Still available | Not available | Not available |
| Maintenance | Mainstream ends end of 2027; extended to 2030 | S/4HANA release cycle | S/4HANA release cycle |
Which one? For new S/4HANA projects SAP PRESS suggests evaluating optimized contract management and optimized inbound processing, because that is where SAP invests. Companies moving RAR from SAP ERP with heavy enhancements may find classic the safer first step. Maintenance dates: SAPinsider.
RAR or event-based revenue recognition?
The question comes up in almost every S/4HANA project. Both recognize revenue; they were built for different problems. Source: SAP Community, answer from SAP.
Revenue Accounting and Reporting
- Built around IFRS 15 and ASC 606, with its own revenue contract separate from the sales documents.
- Senders: SD, CRM, BRIM and external systems through APIs.
- Made for high volumes in S/4HANA and SAP ERP; typical in high tech and telecom.
- Revenue posted by period-end programs, or directly with optimized contract management.
Event-based revenue recognition
- Set up in the controlling area; cost-driven scenarios.
- Posts revenue and cost adjustments in real time from sales orders, projects, service documents and provider contracts.
- Matches revenue with cost and adds market segment data to every posting in the Universal Journal.
- SAP PRESS notes release 2022 added allocation and parallel reporting to it.
Troubleshooting
Error decoder
Messages people search for most, in plain words. Full details for any item error are in the application log, SLG1 with object FARR.
FARR_ACCR_MAIN038
Revenue accounting period setting not defined for CoCd &1 AcctPr. &2
What it means
The company code and accounting principle have no entry in the revenue accounting period settings, so RAR cannot create a reconciliation key.
First thing to try
In Customizing, Open and Close Revenue Accounting Periods: add the combination.
FARR_IMG
FARR_APPLICATION114
Contract &1: Open recon key exists in closed period &2/&3
What it means
A reconciliation key (one per company code, accounting principle and period) is still open for a period that is already closed in RAR.
First thing to try
Check that period’s revenue posting jobs for this contract before reopening anything; search SAP for Me for the message number.
FARR_REV_POST
FARR_RAI664
Item &1: The item has status Processable and has yet to be processed
What it means
A later step needs this item processed first, for example an invoice or fulfillment item waiting for its order item.
First thing to try
Process the waiting item first (FARR_RAI_PROC or the monitor), then retry the one that depends on it.
FARR_RAI_PROCFARR_RAI_MON
FARR_RAI411
Item &1 is partially processed for AccPr &2 but no processable RAIs exist
What it means
The item is still listed in table FARR_D_RAI2_PROC but no Processable item exists. Most likely it was set to status 4 (Processed) or deleted by mistake: the data is inconsistent.
First thing to try
SAP’s long text says to contact SAP support.
FARR_D_RAI2_PROC
FARR_RAI023
Configuration of class &1 is inconsistent or not updated
What it means
The item class was changed but its interfaces were not generated again, or the class is not active.
First thing to try
Check the class in FARR_RAI_CONF and generate it again with FARR_RAI_GEN.
FARR_RAI_CONFFARR_RAI_GEN
FARR_RAI542
You are not authorized to process revenue accounting items
What it means
The user’s roles lack the authorization to process items.
First thing to try
Run SU53 straight after the error; the delivered role for revenue accountants is SAP_SR_FARR_REV_ACCOUNTANT_A.
SU53
FARR_CONTRACT_UI270
This contract contains no performance obligations for manual fulfillment
What it means
Manual fulfillment was tried on a contract whose POBs are fulfilled by events or by time.
First thing to try
Fulfill through the event (goods issue, invoice) or change the POB setup; only POBs set up for manual fulfillment accept it.
Manage Revenue Contracts
Tips and tricks
14 tips for key users and consultants
Small habits that make the monthly close calmer, and documented behaviour behind setup and migration. Filter by audience.
- 01Key users
Simulate before you post
The revenue posting run starts in test mode. Use it to check account determination, debits, credits and amounts before switching to posting mode.
FARR_REV_POST
- 02Key users
Post the periods in order
Revenue is posted one period at a time, and every earlier period must be posted first. A forgotten period blocks the next close.
FARR_REV_POST
- 03Key users
Errors live in SLG1
When an item fails, open the application log with object FARR. It says why, item by item.
SLG1
- 04Key users
Mass runs for volume
For many items use the mass transfer and processing runs instead of the buttons in the monitor.
FARR_RAI_TRANSFARR_RAI_PROC
- 05Key users
Keep manual entries off RAR accounts
The report comparing RAR with the ledger flags differences account by account; most come from manual postings to those accounts.
SAP Help - 06Key users
Ask who changed it
The change history shows every change to a contract or POB, with user and date. Auditors love it.
FARR_CONTR_HIS
- 07Key users
Big documents split
A posting job usually creates one FI document, but splits it above 900 lines or when currencies differ, and splits single amounts above 99,999,999,999.
SAP Help - 08Consultants
Copy BRF+ templates, never edit them
Create your own applications from SAP’s templates for SD, BRIM (CA), CRM and account determination.
FARR_AP_SD_PROCESS_TEMPLATEFARR_ACC_DETERMINE_TEMPLATE
- 09Consultants
Regenerate after every class change
A class released as productive only accepts compatible changes. Transporting an activated class can generate it in the target system through an after-import method.
FARR_RAI_GENFARR_RAIC_GEN_AFTER_IMP
- 10Consultants
Run the consistency check every close
The consistency monitor can run after each posting period. Save its results to FARR_D_CONS so you can compare closes.
FARR_CONTR_MONFARR_CONTR_CHECK
- 11Consultants
Migrate SD revenue recognition first
Treat the move from VF44 to RAR as its own project, finished before the S/4HANA conversion. Switching from Migration to Productive cannot be undone; until then the initial load cleanup lets you repeat the load.
FARRIC_OLFARR_IL_CLEANUP
- 12Consultants
POB IDs are characters now
The POB ID changed from numeric to character for performance reasons. Custom code that treats it as a number needs a review (SAP Note 2672794).
FARR_D_POB
- 13Consultants
Direct posting has conditions
It needs optimized contract management, works prospectively for existing customers and is not recommended for very high volumes.
ACDOCA
- 14Consultants
Pick the period-end rhythm
Running the three programs rarely leaves little time to fix errors; running them too often can cause deadlocks.
FARR_REV_TRANSFERFARR_LIABILITY_CALCFARR_REV_POST
Myths
Things people get wrong about RAR
Myth
RAR replaces SD billing.FactSD keeps invoicing and creating the nota fiscal. RAR decides when that money becomes revenue.
Myth
The RAR contract is the sales contract.FactIt is the accounting view of the deal. One RAR contract can bring several sales documents together.
Myth
Revenue in RAR equals the invoice amount.FactOnly in total, at the end. Along the way allocation moves revenue between obligations, as the handset puzzle shows.
Myth
Everyone on S/4HANA needs RAR for IFRS 15.FactSimple sales recognized at delivery may not need it, and event-based revenue recognition is the other option.
Myth
RAR 2.0 is the S/4HANA version.FactAn informal nickname. SAP never released a product called RAR 2.0.
Myth
VF44 still works after the conversion.FactSD revenue recognition is not available in SAP S/4HANA. Migrate it to RAR before the conversion.
History
From a 2014 standard to the Universal Journal
From a 2014 accounting standard to postings straight into the Universal Journal.
- 2014MayThe IASB and FASB issue IFRS 15 and ASC 606, one revenue model first meant to apply from 2017.
- 2015SeptemberThe IASB defers IFRS 15 to periods starting on or after 1 January 2018.
- 2015NovemberRAR 1.1 enters ramp-up. SAP targets telecom carriers and the handset-versus-plan split, with SAP hybris Billing integration.
- 2016DecemberBrazil publishes CPC 47 as NBC TG 47 in the Diário Oficial on 22 December, effective 1 January 2018.
- 2017AugustRAR 1.3 for SAP ERP (add-on REVREC 130): SAP PRESS dates its first standalone release (SP03) to August 2017.
- 2018JanuaryIFRS 15 and CPC 47 apply: revenue from contracts with customers follows the five-step model.
- 2018S/4HANA 1809The add-on becomes part of SAP S/4HANA; SD revenue recognition is no longer available there.
- 2019S/4HANA 1909Optimized contract management: faster contracts and day-based contract changes.
- 2020S/4HANA 2020–2021Optimized inbound processing handles items in real time (2020); direct posting sends entries straight to the Universal Journal without the RAR subledger (2021).
- 2027End of the yearSAP ERP mainstream maintenance ends; extended maintenance runs to the end of 2030. RAR on SAP ERP lives on the same clock.
The questions people ask most
Why don’t I see revenue right after billing?
Because the invoice is not the event that earns revenue. SD posts the invoice; RAR takes the billed amount out of revenue into the receivable adjustment account and recognizes it when the obligation is fulfilled, at period end through the three programs.
What is the difference between a contract asset and an unbilled receivable?
Both mean revenue is ahead of billing. Unbilled receivable is calculated per performance obligation against the invoice date; contract asset is netted per contract against the invoice due date. Deferred revenue and contract liability are the mirror pair.
What is a reconciliation key?
A 10-character key that groups the creation, fulfillment and posting transactions of one company code, one accounting principle and one period. Posting and reconciliation reports work by it, and it closes when the period is posted.
Can I reverse a revenue posting run?
Yes. Postings created by an earlier job can be reversed, corrected and posted again.
Does RAR calculate or post taxes?
No. Revenue postings carry no input or output tax; tax stays on the invoice and its fiscal document.
RAR or event-based revenue recognition?
RAR is built for IFRS 15 and ASC 606 with its own contract, allocation and high volumes. Event-based revenue recognition is set up in controlling and posts revenue and cost in real time from sales orders, projects and service documents.
Classic or optimized contract management?
For new S/4HANA projects SAP PRESS suggests evaluating the optimized versions, where SAP now invests. Companies moving a heavily enhanced RAR from SAP ERP may prefer classic first.
Is RAR available in SAP S/4HANA Cloud?
Partner Bramasol reported in 2022 that RAR with optimized contract management is used in the private edition, while the public edition covers revenue recognition with event-based and contract-based revenue recognition. Check SAP’s current scope for your edition.
Which senders can feed RAR?
SD, BRIM, SAP CRM and SAP S/4HANA Service are integrated as standard. Third-party systems can send items too, as long as the data matches the format and quality SAP senders deliver.
How do I move from SD revenue recognition to RAR?
Clean SD data (VF47, VF44, VF42), set up RAR with a migration package and a transfer date at month end, run the operational load (FARRIC_OL), process the initial load, reconcile, and only then switch the status to Productive.
Related pages
References
Checked in November 2026. Several SAP Help pages come from the original Revenue Accounting library; the functions they describe still exist in SAP S/4HANA. Transaction names are SAP’s own texts as listed by public transaction directories. SAP Notes need an SAP for Me login.
- IFRS 15 Revenue from Contracts with CustomersIFRS Foundation
- IFRS 15 summary and timelineICAEW
- CPC 47 and IFRS 15: changes from 2018Jornal Contábil
- Revenue accounting items: monitor and mass runsSAP Help, Revenue Accounting
- Configuring revenue accounting item classesSAP Help, Revenue Accounting
- Revenue postingSAP Help, Revenue Accounting
- Revenue-related events and postingsSAP Help, Revenue Accounting
- Reconciliation: postings, ledger and logisticsSAP Help, Revenue Accounting
- Reconciliation: FI documents and contractsSAP Help, Revenue Accounting
- Role: revenue accountantSAP Help, Revenue Accounting
- Role: revenue accounting auditorSAP Help, Revenue Accounting
- Inbound processing, contracts and POBsSAP Community blog
- Optimized contract management: period end and reportingSAP Community blog
- Goods issue and time-based fulfillment walkthroughSAP Community blog
- Consistency check report in RARSAP Community blog
- Migration of SD revenue recognition to RARSAP Community blog
- Revenue postings in RAR (direct posting)SAP Community blog
- RAR vs event-based revenue recognitionSAP Community Q&A
- Choosing your revenue recognition tool in SAPSAP PRESS blog
- How does SAP handle revenue recognition?SAP PRESS blog
- Revenue Accounting and Reporting with SAP S/4HANA (contents)SAP PRESS
- RAR concept and configuration guidecnblogs
- RevRec optimization and cloud optionsBramasol
- SAP telco customers prepare for new revenue standards (RAR 1.1)PR Newswire, 2015
- SAP support deadlines 2027, 2030, 2033SAPinsider
- Transaction texts (FARR_*)ERPLingo