Pular para o conteúdo
Withholdings and tax information in SAP

EFD-Reinf in SAP: from the withholding to the event, to the close and to DCTFWeb

EFD-Reinf is not a monthly file: it is a sequence of signed events, sent in batches, that tell the tax authority what was withheld, from whom and when. The close of each series is what feeds DCTFWeb.

For the view of all obligations and states, start with the overview of federal obligations and states.

Versão em português
Withholding path

The withholding path, in four steps

See the detail in From document to receipt, in seven steps.

  1. 01

    Invoice and payment

    Withholding calculated in SAP.

  2. 02

    Event

    One event per fact, in signed XML.

    R-2010, R-4020

  3. 03

    Close

    Closes the movement of each series.

    R-2099, R-4099

  4. 04

    DCTFWeb

    Totals returned and Darf generated.

    R-9xxx, Darf

Index

Choose your entry point by your role

Four entry points, one per role, going straight to the block that answers your question.

01Tax and accounting

From document to receipt, the period cycle and the withholding with numbers, to close the month's Reinf.

Go to the section

02IT and SAP

How the event is born in SAP, what Reinf validates and the error matrix, with cause and fix.

Go to the section

03Accounts payable and purchasing

The withholding invoice by invoice, the everyday cases and the checklist for your area.

Go to the section

04Payroll and eSocial

What belongs to Reinf, what belongs to eSocial and what DCTFWeb does with both.

Go to the section
Direct links
Definition

Events, batches and receipts, not a single file

The general map covers the obligation in one line. This page covers what changes the work of whoever integrates SAP.

Event in XML, signed

EFD-Reinf gathers the reporting of withholdings and other tax information, delivered in specific layouts, with an ICP-Brasil digital certificate, and it is only valid after receipt is confirmed and the content is validated. Each event has its own structure, validated by XSD.ReferencesIN RFB 2.043/2021Developer Manual 2.7

Two series, two movements

The series R-2000 covers social security contributions withheld or substituted. The R-4000 covers withholding at source of income tax, CSLL, PIS and Cofins. Each one forms an independent movement in the period, with its own close. Different areas of the company can send each series without depending on each other.ReferencesUser Manual 2.1.2.1

Deadline and exemption

Transmission is monthly, by the 15th of the following month. When the 15th is not a business day, the wording of IN 2.163/2023 moves it to the next business day, while User Manual 2.1.2.1 still describes moving it to the previous business day. The two sources differ, and the company's calendar should follow what the tax authority indicates. With no facts to report in the period, nothing is sent. For profits and dividends exempt from withholding, IN 2.043/2021 (art. 6, § 3) moves the deadline to the 15th of the second month after the quarter.ReferencesIN RFB 2.043/2021User Manual 2.1.2.1

Who identifies whom

The company is identified by the 8-digit root of the CNPJ. The certificate that signs is the e-CNPJ of the same base CNPJ, the e-CPF of the representative, or that of an attorney with specific powers for EFD-Reinf.ReferencesUser Manual 2.1.2.1Developer Manual 2.7

Difference from the other obligation pages

The map of ancillary obligations and SPED covers obligations and states. The page on SPED Fiscal in SAP shows the monthly ICMS file, and the one on EFD Contribuições in SAP shows PIS and Cofins credit. Here the question is how the withholding becomes an event, closes the period and reaches DCTFWeb.

Flow

From document to receipt, in seven steps

The first four steps belong to the SAP environment and the last three belong to EFD-Reinf and DCTFWeb. The data is decided in steps 1 and 2 and is only challenged in steps 5 to 7.

In the SAP environment

Step 01

Document and payment

Service invoice, bill and payment to the supplier, with withholdings calculated.

→
Step 02

Classification

Service type and income nature define the event: R-2010, R-4020 and others.

→
Step 03

Generation

The report builds the events by taxpayer, establishment and service provider.

→
Step 04

Batch and signature

Events in batches of up to 50, signed with the certificate.

In EFD-Reinf and DCTFWeb

Step 05

Protocol and query

The submission returns a protocol, and the result is queried later.

→
Step 06

Receipt and close

Each accepted event gets a receipt. The R-2099 and the R-4099 close the movements.

→
Step 07

Returns and DCTFWeb

Reinf returns the totals R-9xxx and DCTFWeb receives the taxes.

Where the deadline is lost

In step 5, when the batch is sent and nobody queries the result. In the asynchronous model, the submission only returns a protocol; the event only counts after it is processed.ReferencesDeveloper Manual 2.7

Where value is lost

In step 2 and in the withholding calculation. The wrong service type changes the event, and the wrong rounding changes the cent that the validation accepts.ReferencesUser Manual 2.1.2.1

Where proof is gained

In step 6, with the receipt of each event and the close sent only after them.ReferencesUser Manual 2.1.2.1

Event map

Six families, one event for each fact

The full list of events is in the User Manual. The origin line shows where the data usually comes from in the SAP environment.ReferencesUser Manual 2.1.2.1

1000
Events R-

Tables

R-1000R-1050R-1070

Taxpayer, related entities and proceedings. The R-1000 is the first event to send and a prerequisite for the others.

Origin in the environment: Company master data and legal proceedings

2000
Events R-

Series 2000

R-2010R-2020R-2030R-2040R-2050R-2055R-2060

Social security withholding on services taken and provided, sports association, rural production and CPRB.

Origin in the environment: Accounts payable and receivable for services

3000
Events R-

Series 3000

R-3010

Revenue from sports events, with no movement close and a deadline of up to 2 business days.

Origin in the environment: Ticket office, when applicable

4000
Events R-

Series 4000

R-4010R-4020R-4040R-4080

Payments and credits to individuals and legal entities, to unidentified payees, and withholding on receipt.

Origin in the environment: Payments to suppliers and individuals

2099
Events R-

Close and correction

R-2098R-2099R-4099R-9000

Reopening, closing and deletion of events.

Origin in the environment: Period close routine

9000
Events R-

Returns

R-9001R-9005R-9011R-9015

Totals of bases and taxes generated by Reinf to feed DCTFWeb.

Origin in the environment: Generated by the tax authority, not by SAP

What each event requires before it goes out

  • R-1000: prerequisite for all the others.
  • R-1070: when there is a proceeding tied to non-withholding.
  • R-1050: when there is income from silent partnerships, investment funds or clubs.
  • Close: only after the receipts of all periodic events.
ReferencesUser Manual 2.1.2.1

Who decides the event in SAP

The nature of the service and of the income decides whether the withholding goes in R-2010, in R-2020, in R-4010, in R-4020 or in R-4080. In TDF, preprocessing fills in the service type of the invoices to generate R-2010 and R-2020. Income nature is the data that usually is missing in the payment.ReferencesTDF help on preprocessing

Period cycle

From the first event to DCTFWeb

The order matters more than the day. The manual recommends table events before periodic ones, the close after the receipts and DCTFWeb after the closes.ReferencesUser Manual 2.1.2.1Developer Manual 2.7

Step 01

Send the R-1000

And the tables R-1050 and R-1070, if any.

→
Step 02

Send the periodic events

R-2010, R-2020, R-4010, R-4020, R-4040 e R-4080, as the case may be.

→
Step 03

Query the protocol

Result of the batch, event by event.

→
Step 04

Receive the receipts

One receipt per accepted event, before any close.

Step 05

Reconcile

SAP withholding against accepted event, by provider and by invoice.

→
Step 06

Close

R-2099 and R-4099, in an exclusive batch.

→
Step 07

Receive the totals

R-9001, R-9005, R-9011 e R-9015 returned by Reinf.

→
Step 08

Transmit DCTFWeb

After the closes, with the Darf generated by it.

Two rules that avoid rework

While the R-2099is being processed, EFD-Reinf does not receive events from the same taxpayer and period, and whatever arrives is rejected. And, to recover a receipt, the resent event must keep the same ID and the same hash.ReferencesDeveloper Manual 2.7

Withholding, with numbers

The cent that decides the validation

The examples below are fictional. The BRL 10,000.00 invoice and the truncation example come from the tax authority's own manual.ReferencesUser Manual 2.1.2.1

One invoice, two events

A company hires cleaning and security services from a provider and receives an invoice of BRL 10,000.00. It withholds 11% social security contribution and 1% income tax. These are two facts under different rules, so two events, in periods that can differ.ReferencesUser Manual 2.1.2.1

Same invoice, event 1: R-2010

Value of the service invoice (labor assignment)base10,000.00
Social security withholding of 11%vlrRetencao1,100.00
Event periodinvoice issuemonth of issue

Same invoice, event 2: R-4020

Same invoice valuebase10,000.00
Income tax withholding of 1%amount withheld100.00
Event periodpayment or creditmonth of payment

Truncate or round

EFD-Reinf calculates withholding by truncating at the second decimal place, with no rounding. Because the provider is the one who shows the withholding, the validation also accepts rounding up, within 1 cent, and takes the larger of the system value and the reported one. SAP's calculation must respect this limit on every invoice.ReferencesUser Manual 2.1.2.1

Withholding by truncation

Invoice basebase918.07
11% with no cutcalculation100.9877
Truncated withholdingtax authority rule100.98
Common rounding would givefor comparison100.99

Batch of three invoices, withholding per invoice

Invoice 1, base 918.07truncated / rounded100.98 / 100.99
Invoice 2, base 1,234.56truncated / rounded135.80 / 135.80
Invoice 3, base 777.77truncated / rounded85.55 / 85.55
=Sum of the threetruncated / rounded322.33 / 322.34

In the example batch, common rounding adds up to 0.01 more than truncation, over three invoices. None goes over the limit of 1 cent per invoice, so none is rejected, but the monthly sum per provider no longer matches what the tax authority calculates on its own. Reconciliation must be done by event, not by the month's total.

R-2010 and R-4020 side by side

PointR-2010R-4020
Taxable eventIssue of the service invoicePayment or credit to the supplier
TaxSocial security contribution (11%, or 3.5% under CPRB)Income tax, CSLL, PIS and Cofins withheld
Deadline15th of the month after issue, or before the R-209915th of the following month, or before the R-4099
CloseR-2099, single for all the company's R-2010 eventsR-4099, with a close indicator
PrerequisiteR-1000R-1000, plus R-1050 and R-1070 when applicable
ReferencesUser Manual 2.1.2.1
The bridge

Reinf, eSocial and DCTFWeb

Three obligations that the tax authority cross-checks in the same calculation. The split of work among them decides where each piece of data is born.

What belongs to Reinf

Withholdings and tax information that do not come from an employment relationship: services with labor assignment, withholdings of income tax, CSLL, PIS and Cofins, rural production and gross revenue of substituted contributions.ReferencesIN RFB 2.043/2021User Manual 2.1.2.1

What belongs to eSocial

Established by Decree 8.373/2014, it brings together employment relationships, contributions, payroll and tax reporting of employers. Income from work paid by the employer goes in eSocial, not in R-4010.ReferenceseSocial page on SPEDUser Manual 2.1.2.1

What DCTFWeb does

It is single and receives both Reinf series, after the closes. It constitutes an acknowledgment of debt, is filed by the head office and issues the social security Darf.ReferencesUser Manual 2.1.2.1IN RFB 2.237/2024IN RFB 2.043/2021

Where reconciliation breaks

The difference shows up in DCTFWeb, but it starts earlier. Reinf covers service withholdings and payments, and income from work stays in eSocial. Reconciliation starts from two master records: people, in eSocial, and suppliers and service invoices, in Reinf. DFSpro implements eSocial in SAP and works on this reconciliation, together with the integrator. See eSocial in SAP, on its own page. The map of federal obligations and eSocial gives the overview of the two obligations.

Validations

What EFD-Reinf validates on each submission

The validations come from Developer Manual 2.7, of October 2025. Valid values can change with a manual update, without changing the layout version.ReferencesDeveloper Manual 2.7

ValidationRuleUsually breaksWhere to look
BatchConnection certificate, structure and batch version; an error here rejects the whole batchExpired certificate or batch outside the XSDIntegration and certificate
Event structureXSD validation, event by event; a structure error blocks the other validationsOptional field sent empty or zeroedXML generation
ContentValues reported in the event; an inconsistency rejects the eventWithholding outside the 1-cent limitWithholding calculation rule
PrecedenceInitial and table events before the periodic onesPeriodic event sent before the R-1000Send order
CloseEvent out of order during the R-2099 is rejectedEvents sent while the close is processingPeriod cycle control
Receipt and IDThe event ID must be kept until the batch responseID regenerated on resendID control
ProceedingsLegal or administrative proceeding with a valid number, reported in the R-1070Proceeding reported in the periodic event without R-1070Proceeding records
Certificate and signaturee-CNPJ of the same base CNPJ, e-CPF of the representative or attorney with powers for ReinfCertificate of another base CNPJ without power of attorneySignature and powers of attorney
ReferencesDeveloper Manual 2.7
In SAP

How the event is born, and where ABAP comes in

Description based on SAP's public documentation.

01

The TDF report

The SAP Tax Declaration Framework for Brazil offers the EFD-Reinf report, through transaction /TMF/REINF, which reports income paid and withholdings, social contribution not tied to labor and gross revenue data. In the IMG there is the identification of the environment and the assignment of tax type and tax code to events. KBA 2490129 covers Reinf in ECC.

ReferencesTDF help on EFD-ReinfKBA SAP 2490129
02

The execution sequence

With business function LOG_TMF_INT_1_1 active, the configuration guide says to run the preprocessing, generate the taxpayer and proceeding events and only then the EFD-Reinf report, and to check the result in the Messaging Framework.

ReferencesTDF Configuration Guide
03

Preprocessing

It scans the electronic invoices and fills in the service type by company, branch, item and partner, or by BAdI, to generate R-2010 and R-2020. It supports only invoices with one service item and can only be repeated in the same period if the events have not been sent yet.

ReferencesTDF, preprocessing
04

Transmission

The TDF Messaging Framework receives, validates, stores and sends to the government, through PI or SOAMANAGER, and now stores the returns R-5001 and R-5011. SAP's help cites Reinf layout 1.3, and the tax authority now operates 2.1.2 in an asynchronous model; whether the installed package complies must be confirmed.

ReferencesMessaging Framework helpTDF SP15 blogTDF help on eSocialDeveloper Manual 2.7

Where ABAP and tax customization come in

Between the invoice and the event there are three places where the standard rarely is enough. DFSpro works in all three with ABAP development and tax customization, inside the customer's project and together with the integrator on the overall architecture.

Rule that classifies

  • Service type by item and by partner, and BAdI for the case the configuration does not cover.
  • Income nature of the payment, which decides R-4010, R-4020 or R-4080.
  • Invoices with more than one service item, beyond the reach of the standard.
ReferencesTDF, preprocessing

Calculation and missing data

  • Withholding by truncation at the second decimal place, with the limit of 1 cent.
  • Proceeding and related entity in the table events.
  • Load of legacy events through the Messaging Framework, by BAdI.
ReferencesUser Manual 2.1.2.1TDF SP15 blog

Reconciliation and transmission

  • Report that compares SAP withholding, accepted event, receipt and the return R-9xxx.
  • Check of DCTFWeb against the two series and against eSocial.
  • Control of ID, protocol and receipt in the asynchronous integration.
ReferencesDeveloper Manual 2.7

The page on tax setup shows the discipline of rules and master data, and the one on tax integration on SAP BTP covers integration by API.

Errors and diagnosis

Matrix of error, cause and fix

Each line links the symptom to the documented cause and to the place in the environment where to look first. The causes come from the manuals; the environment column points to where to look first in SAP.

SymptomLikely causeWhere to lookFix
Event rejected for precedencePeriodic event sent before the R-1000 or the tablesSend orderSend tables first and resend the periodic event
Event rejected at closeSent during the processing of the R-2099Cycle controlWait for the close to finish and resend
Batch rejectedStructure, certificate or batch versionBatch XML and certificateValidate against the XSD before sending
No receiptRejected event, which returns an error and not a receiptBatch returnFix and resend; query the protocol
Lost receiptID changed on resendID controlResend the same event, same ID and same hash
Withholding rejectedValue outside the 1-cent limit over truncationWithholding calculationCalculate by truncation or round by 1 cent at most
R-2010 e R-4020 in the wrong periodsThe two events follow different datesIssue date and payment dateGenerate the R-2010 by issue and the R-4020 by payment
Service invoice with no eventService type missing, or invoice with several itemsPreprocessingDefine the service type or handle the invoice by BAdI
Employee payment in R-4010Income from work settled by the employer goes in eSocialPayment classificationRemove from Reinf and check in eSocial
Amendment without reopeningMovement closed without R-2098 or R-4099Correction routineReopen, amend and close again
Difference in DCTFWebClose sent before all the receiptsReconciliation by periodWait for all receipts, close and check the returns R-9xxx
Query blockedToo many queries in a row return HTTP 429Query integrationSpace out the queries and use the protocol
ReferencesDeveloper Manual 2.7User Manual 2.1.2.1TDF help on preprocessing
Everyday cases

Four situations that keep repeating

Fictional cases, built from the rules of the manuals. They serve to train diagnosis, not to describe a customer.

Case 1

The withholding that changed month

Situation

A service invoice is issued in March and paid in April. The R-2010 should have gone in the March period and the R-4020 in April's. The company generated both in April, and the social security contribution went to DCTFWeb of the wrong month.

Diagnosis

The diagnosis is about dates: issue for one, payment for the other.

ReferencesUser Manual 2.1.2.1
Case 2

The early close

Situation

The R-2099 was sent while three batches were still processing. The events of those batches arrived later and were rejected, because EFD-Reinf does not receive events during the close.

Fix

The fix is about process: query all the protocols, receive all the receipts and only then close.

ReferencesDeveloper Manual 2.7User Manual 2.1.2.1
Case 3

The cent of the withholding

Situation

The ERP rounds each withholding to the nearest cent. On one invoice, the rounding goes over 1 cent compared with truncation and the event is rejected.

Fix

The fix is in the calculation rule, which must truncate at the second decimal place, not in the file.

ReferencesUser Manual 2.1.2.1
Case 4

The payroll that showed up in Reinf

Situation

A payment to an employee was posted as income of an individual and generated R-4010. Income from an employment relationship settled by the employer goes in eSocial. The R-4010 duplicated the information.

Fix

The fix is in the payment classification in SAP.

ReferencesUser Manual 2.1.2.1
Correction and penalties

Amendment, deletion and fines

The deadline is in IN 2.043/2021 and the correction routine is in the User Manual. The order of work matters more than the day.

How to correct

  • With the movement open, an amendment is a new event with an amendment indicator.
  • With the movement closed, reopen with the R-2098 or with the R-4099 and close again.
  • Deletion is done with the R-9000, with the event type and the receipt number.
  • The R-3010 has no movement close and is corrected at any time.
  • Changes only exist in table events, by validity period.
ReferencesUser Manual 2.1.2.1

What the rule provides

  • Fine of 2% per calendar month on the taxes reported, capped at 20%, for failure or delay.
  • BRL 20.00 per group of 10 incorrect or omitted items, with a minimum of BRL 500.00.
  • Reductions of 50% and 25% depending on when the filing is made, and own reductions for MEI and for ME and EPP under Simples.
  • The fine is charged by an ex officio assessment.
ReferencesIN RFB 2.043/2021
Recent changes

What the tax authority published in 2025 and 2026

Items from the SPED portal and the manuals. Check the portal before any decision, because new technical notes come out often. Layout in force on the portal, read on 15/10/2026: 2.1.2, version 2.1.2b, updated up to Technical Note 03/2025, plus the 2026 notes in this table.

DatePublicationWhat changes
01/10/2025Developer Manual 2.7Removes sending and querying in the synchronous model; only the asynchronous one remains. Published on the portal on 12/11/2025
31/03/2026Technical Note 01/2026 republishedAdjusts rates and changes the fields of R-2055 that go to DCTFWeb from 04/2026
08/05/2026Technical Note 02/2026Creates exemption type 12 for profits and dividends, nature 12001, from 01/01/2026
22/05/2026Technical Note 03/2026Alphanumeric CNPJ and new XSD, in production from July 2026, on a date to be announced (the SPED portal, read on 15/10/2026, does not give the effective date)
ReferencesDeveloper Manual 2.7notice of Technical Note 01/2026notice on profits and dividendsnotice on the alphanumeric CNPJ in Reinf

For registering a CNPJ with letters in SAP, see Alphanumeric CNPJ in SAP. For the tax reform calendar and what it changes in the obligations, see tax reform with CBS and IBS.

Checklist by area

Each area with its own list

Lists to divide the close work. Each item is a check, not a promise of a result.

Tax

  • Income nature defined by type of payment.
  • R-2010 and R-4020 in different periods, when applicable.
  • Close only with all the receipts.
  • Returns R-9xxx checked against DCTFWeb.

Accounts payable

  • Withholding calculated by truncation at the second decimal place.
  • Payment or credit date recorded by supplier.
  • Employee payment outside R-4010.
  • Supplier without complete master data handled before the close.

Services and purchasing

  • Service type by item and by partner.
  • Invoices with more than one service item identified.
  • Legal or administrative proceeding reported in R-1070.
  • Correct taking establishment on each invoice.

Payroll and eSocial

  • Income from work only in eSocial.
  • Payroll reconciled with the social security debit in DCTFWeb.
  • Remuneration events sent before the close.
  • eSocial owner identified.

IT and ABAP

  • Batch of up to 50 events and message of up to 54 MB.
  • Protocol, query and receipt stored by event.
  • Event ID preserved on resend.
  • Valid certificate and powers of attorney, TLS 1.2 or higher.
ReferencesDeveloper Manual 2.7

Governance

  • Who signs and with which certificate or power of attorney.
  • Calendar that accounts for the disagreement on the business day.
  • Amendments with reopening recorded.
  • Plan for the asynchronous model and for the alphanumeric CNPJ.
Method

How to run the work on EFD-Reinf

Four steps, from reading a real month to recurring reconciliation.

Step 01

Scope and a real month

Series R-2000 and R-4000, current transmission method, and one invoice followed from the document to the receipt and DCTFWeb.

→
Step 02

Differences

Each difference becomes a matrix line with cause, where to look and fix.

→
Step 03

Fix at the source

Service type, nature and calculation first; event and batch last.

→
Step 04

Permanent reconciliation

What was solved becomes a recurring check before the close. See also tax and accounting reconciliation in SAP.

Readiness

Reinf reads what the ERP recorded

An event is only really applicable when the data exists in the ERP and has been checked. Data that the system never recorded does not go out in the event, and finding that out late costs the close.

Responsibility questions

  • Where does the data of each event your company sends come from?
  • Who answers for that data and for access to the transmission?
  • What is still manual today, and who checks it?

Questions about where data can be missing

  • Is the data born in SAP or does it arrive from another system?
  • Is it stored in the document or the master record, or only in a spreadsheet?
  • When it comes from outside the ERP, who brings it and when?

The proof is to reconcile, by tax, the total withheld in the events with the total calculated and with the accounting balance, and to check receipt and return against the calculation. See from calculation to accounting balance and the AMS Fiscal and environment governance.

We check where each piece of data comes from and prove what the ERP delivers. Who must withhold and how to treat each case is the company's decision.

Where DFSpro comes in

Tax layer, ABAP and eSocial, with tailor-made customization

SAP Tax Governance consultancy from Curitiba, founded in 2018. It takes care of the tax layer of the project and leaves the overall architecture to the integrator.

What DFSpro does

  • Follows a service invoice from the document to the receipt, the close and DCTFWeb.
  • Does ABAP development and tax customization for service type, nature, withholding, events and reconciliation.
  • Implements eSocial in SAP and reconciles payroll, Reinf and DCTFWeb, together with the integrator.

What it does not do

  • Does not commit to a deadline before reading your environment.
  • Does not decide how the company interprets the rule.
  • Does not replace the company's signature or its certificate.

When the environment is evaluating GUEPARDO Tax, the product belongs to NTT DATA and DFSpro, as an Authorized Channel, sells the license, implements the product and handles its governance. The SAP Tax Diagnostic helps to see the gap between what SAP generates and what the obligation requires.

Want to bring a withholding that does not add up?

If you have a rejected event, a difference in DCTFWeb or an integration to move to the asynchronous model, describe the case to DFSpro.

Frequently asked questions

Frequently asked questions about EFD-Reinf in SAP

Understand the obligation8 questions, 01 to 08

01Is EFD-Reinf a file or a set of events?+

It is a set of XML events, grouped in batches and signed, not a single TXT like the other SPED reports. The Developer Manual defines the batch as an XML that contains the XML of the events. Each event gets its own receipt after it is validated.

02What is the difference between series R-2000 and R-4000?+

Series R-2000 covers social security contributions withheld or substituted. Series R-4000 covers withholding at source of income tax, CSLL, PIS and Cofins. Each series forms an independent movement in the period, with its own close: R-2099 for the first and R-4099 for the second.

03Why can the same invoice generate two events, an R-2010 and an R-4020?+

Because the two withholdings come from different laws and acts. The manual gives the example of an invoice of BRL 10,000.00 with social security withholding of 11% and income tax of 1%: the R-2010 carries BRL 1,100.00 in the period of the invoice issue, and the R-4020 carries BRL 100.00 in the period of the payment or credit.

04What are the R-2099 and the R-4099?+

They are the closing events of each movement. The manual recommends sending them in an exclusive batch and only after receiving the receipts of all the periodic events of the period. While the R-2099 is being processed, EFD-Reinf does not receive events from that taxpayer and period, and those that arrive are rejected.

05How is withholding rounded in EFD-Reinf?+

The rule is truncation at the second decimal place. In the manual's example, 11% on BRL 918.07 gives BRL 100.9877 and the correct withholding is BRL 100.98. To reduce rejections, the validation also accepts rounding up, within 1 cent. Whoever uses common rounding on all invoices must check this limit across the batch.

06How do I amend or delete an event that was already sent?+

With the movement open, you send a new event with an amendment indicator. With the movement closed, you reopen it with the R-2098 or with the reopening R-4099 . Deletion uses the R-9000, with the event type and the receipt number. After reopening, a new close must be sent.

07How does EFD-Reinf feed DCTFWeb?+

Events R-9001, R-9005, R-9011 e R-9015 are generated by EFD-Reinf itself from the periodic events and returned to the taxpayer, to report the taxes calculated and feed DCTFWeb. DCTFWeb is single and receives both series, and it is recommended to transmit it after the closes. Social security contributions are paid by a Darf issued by DCTFWeb.

08Do employee payments go in EFD-Reinf?+

No. Income from an employment relationship, settled directly by the employer, goes in eSocial and not in R-4010. That is the split between the two obligations, and it is why reconciling payroll with Reinf is a project topic.

Execution in SAP3 questions, 09 to 11

09Does SAP generate EFD-Reinf?+

The SAP Tax Declaration Framework for Brazil offers the EFD-Reinf report, run by transaction /TMF/REINF, which reports income paid and withholdings, social contribution not tied to labor and gross revenue. Before it, the help says to run the preprocessing and the taxpayer and proceeding event reports.

10What does SAP preprocessing solve, and what does it not solve?+

It scans electronic invoices and fills in the service type, to generate events R-2010 and R-2020, by configuration or by BAdI. It only supports invoices with one service item, and can only be repeated in the same period if the events were not yet sent to the tax authority. An invoice with several different service items needs its own handling.

11Does TDF follow the current EFD-Reinf layout?+

The Messaging Framework help cites support for EFD-Reinf layout 1.3 in SP11, and the tax authority now operates layout 2.1.2 and the asynchronous model. How far your package goes depends on the installed version: confirm the version and the applicable support note, which requires a login.

Risks and objections2 questions, 12 to 13

12What is the risk of carrying on as is?+

The fine for failure or delay is 2% per calendar month on the taxes reported, capped at 20%. For incorrect or omitted information, it is BRL 20.00 per group of 10. The minimum fine is BRL 500.00. In addition, the difference shows up in DCTFWeb, which constitutes an acknowledgment of debt.

13If the tax authority accepts the events, do I still need to reconcile with DCTFWeb?+

Yes. An accepted event means valid structure and content, not that the SAP withholding is the same. DCTFWeb is single and receives both series. Reconciling by event, by provider and by period is what avoids the difference later.

Reform and news3 questions, 14 to 16

14Does EFD-Reinf replace the Dirf?+

For facts from 01/01/2025, the Dirf is replaced by the events of series R-4000, by S-1210 and by S-2501 of eSocial. The page on the map of obligations summarizes the Dirf situation.

15What did Technical Note 02/2026 change for profits and dividends?+

It created exemption type 12, used with income nature 12001, in force since 01/01/2026. The amount goes into the gross income of R-4010, which can have amounts without withholding up to BRL 50,000.00 in the month or amounts with withholding above that, at 10% on the taxable part. Since May 2026, type 5 with nature 10001 is no longer applicable.

16Does the alphanumeric CNPJ affect EFD-Reinf?+

Yes. The tax authority published EFD-Reinf Technical Note 03/2026 and new XSDs that replace the previous ones, keeping the versions, in production from July 2026, on a date to be announced; the SPED portal, read on 15/10/2026, does not give the effective date. The registration and interface test is on the page on Alphanumeric CNPJ in SAP.

Hiring and delivery8 questions, 17 to 24

17How much does it cost and how long does it take?+

DFSpro does not publish a price or a project timeline. Both depend on what the reading shows: series used, number of establishments, transmission method, SAP version and how much ABAP is needed. That is why the first step is to read a real month.

18When is it worth asking for outside help with EFD-Reinf?+

When the SAP withholding does not match the one declared, when events are rejected for precedence or for the close, when eSocial and Reinf disagree in DCTFWeb, or when the web service integration needs to move to the asynchronous model. The fine can reach 2% per calendar month on the taxes reported, capped at 20%.

19Does DFSpro implement eSocial and do the ABAP for the Reinf integration?+

Yes. DFSpro implements eSocial in SAP and does ABAP development and tax customization: service type, income nature, withholding by truncation, event generation and reconciliation reports with DCTFWeb. The overall architecture of the project stays with the integrator, and DFSpro works together with them.

20Does DFSpro sign and transmit the events in place of the company?+

The scope is the tax layer: data, rule, calculation and reconciliation. The signature uses the certificate of the same CNPJ or of an attorney with specific powers for EFD-Reinf, and stays with the company.

21What does DFSpro deliver at the end of the work?+

The method produces a matrix of differences, each with cause, where to look and fix; the fixes made at the source, which can include ABAP agreed beforehand; and recurring checks to run before the close. What is contracted is defined after the environment is read.

22Do I need to move from ECC to S/4HANA first?+

Not necessarily: SAP keeps the Reinf report in an ECC KBA and in TDF. The decision to migrate is a different conversation, covered in Clean Core fiscal.

23I already have an SAP integrator. Why involve DFSpro?+

Because withholding, service type and reconciliation with DCTFWeb have their own routine, which tends to sit between the project and the tax area. DFSpro works in the tax layer, and the overall architecture stays with the integrator. In each request it is agreed who changes what.

24If transmission is done by another system, where does DFSpro come in?+

In the source data and in the reconciliation: service type, income nature, withholding by truncation, issue and payment dates and comparison with the receipts. Transmission stays with the system and the team that already do it.

How to start3 questions, 25 to 27

25What is the first conversation with DFSpro about EFD-Reinf like?+

It starts from a real month, with receipts and invoices the company already has. DFSpro follows a service invoice from the document to the receipt, the close and DCTFWeb, notes where a step only closes with a manual adjustment and shows which part of the environment to look at. The scope decision comes after that reading.

26How do I know if my SAP is ready for EFD-Reinf?+

Take a real month and follow a service invoice from the document to the receipt: the service type, the withholding by truncation, the event, the batch, the protocol, the receipt, the close and the return R-9xxx. If any step needs a manual adjustment outside the system, the month is not supported. This is the script of the initial conversation with DFSpro.

27What should I bring to the first conversation?+

A month with receipts of events R-2010 or R-4020, the matching service invoice, the SAP version and the current transmission method. Through the contact page the conversation starts from what you have.

Next steps

Start with the withholding that your period still does not explain

If you have a month with receipts and the matching service invoices, the conversation with DFSpro can start from them. If the point is a specific error, the matrix above shows where to look first.