Ledgr/Documentation/SARS returns

SARS returns

Watch the lesson: Prepare a VAT201 and download it (2:01).

Every return computed from the ledger you already posted to, ready to download, with a calendar that counts down and a record of what you filed when.

Plan.

The SARS module is included from Professional upwards, and on Compliance — the plan an accounting practice places a client on. The Payroll add-on on a lower plan does not include it; its EMP201 figures and certificate file are on Payroll → SARS instead — see payroll.

How filing works.

Ledgr prepares returns; it does not file them. For each return you check the figures on screen, download the file, and then capture it on SARS eFiling or import it into e@syFile Employer yourself. Nothing is ever transmitted on your behalf, so nothing is submitted until you submit it — which also means you (or your accountant) keep the last look at every figure before it carries your name.

Two of these are files SARS accepts directly: the e@syFile certificate import and the DTR02 schedule. The rest are a printed field sheet in eFiling's own order, so capturing a return is reading down one column instead of hunting through your books.

A return that does not balance will not download.

Each generator validates before it produces anything. If something blocks the return — no VAT number, an employee with no tax reference, an ETI claim larger than the PAYE — Ledgr shows you the reasons and offers no file. Warnings are different: those appear next to the download so you read them before filing, not after an assessment.

The overview

Each tax type on a card showing the filing frequency, when you last noted it as filed and when the next one is due. Underneath, the tax calendar lists the upcoming deadlines sorted by urgency with a countdown on each. The same countdown appears on the dashboard. A panel spells out where each downloaded return goes — eFiling or e@syFile.

VAT201

  1. Reconcile the period first

    Unreconciled bank transactions and uncaptured supplier invoices are the two things that make a VAT201 wrong. Clear them before you look at the numbers.

  2. SARS → VAT201, choose the period

    It opens on your most recent closed VAT period, as long as your VAT category makes it — two months for Categories A and B, one month for Category C — so set the category in Settings first. With no category set it assumes Category C, opens on the previous month, and says so beside the return. Ledgr computes output VAT from the invoices you issued and input VAT from the expenses and bills you captured.

  3. Check the boxes against your own expectation

    Standard-rated, zero-rated and exempt supplies are separated, as are capital and non-capital input claims. The payable or refundable figure is the difference.

  4. Download the return and capture it on eFiling

    The PDF lists every VAT201 field in eFiling's own order; the CSV is the same for a spreadsheet. Read down the column into eFiling and submit it there.

  5. Note it in the filing register

    Once you have filed on eFiling, "note it in the register" stores the period with a Ledgr reference so the next period opens from a clean base and your history is complete. That reference is Ledgr's own — SARS issues its own on eFiling, and that is the one to quote to them.

Zero-rated is not exempt.

Zero-rated supplies carry VAT at 0% and still allow the input claim. Exempt supplies do not. Set the treatment on the invoice line rather than adjusting the return afterwards, or the two will not agree.

EMP201

Built from approved payroll runs: PAYE, UIF and SDL for the month with the per-employee breakdown behind each figure. If a total looks low, check that every payroll run for the month is approved rather than still in draft — see the payroll guide.

EMP501 reconciliation

Filed twice a year through e@syFile: the interim covers 1 March to 31 August and is due by 31 October, the annual covers the full year to end February and is due by 31 May. They are two separate submissions with two different certificate sets behind them, so Ledgr asks which one you are preparing rather than inferring it from a date range.

A reconciliation is three totals that have to agree:

  1. What you declared

    PAYE, SDL and UIF from the EMP201s for every month in the window.

  2. What the certificates say

    The same three from the IRP5 and IT3(a) certificates for the same employees — source code 4149.

  3. What you paid SARS

    This is the one leg Ledgr cannot see: nothing in the product records "we paid SARS R84 000 on 5 April". It is reported as not captured rather than assumed to equal the declaration, because assuming it is exactly what makes a reconciliation balance on paper and then fail at SARS. Fill it in from your bank statement.

Ledgr computes the difference per component and per month before you submit, which is the whole point of doing it here rather than by hand — SARS raises a query on any difference, and a letter three months later is a far more expensive way to find out. Work down the list, fix the month it names, and only then generate the certificate import.

IRP5 and IT3(a) certificates

This is the one that saves real time. Ledgr builds the e@syFile Employer import file from your approved payslips, so no certificate is captured by hand. In e@syFile: Utilities → Import Payroll File, pick the downloaded file, then reconcile against the EMP501.

Before it generates anything, the screen reviews every certificate and lists the problems per employee. That order matters: e@syFile rejects an entire import on one bad record and reports it by line number, so a readable fix list up front beats a rejection afterwards. A second download gives the per-employee schedule as a CSV for your own file.

The file already carries everything the payroll runs worked out, so there is nothing to add to it by hand: the employer's retirement and medical contributions (both as the taxable benefit, 3810–3828, and as employer contributions, 4472–4475 with the 4499 total), the medical scheme fees tax credit (4116), the whole UIF contribution, employee and employer (4141), and the Employment Tax Incentive the runs claimed — the 4118 total and the monthly 7002–7008 working behind it. Do not capture any of those again in e@syFile: an import plus a hand-typed figure is the same contribution or the same ETI claimed twice, and a disallowed ETI claim is repaid with a penalty.

What the file cannot know is marked on the review screen, per employee, and those are the warnings to read before you import:

  • A reconstructed medical credit. Payslips from before Ledgr stored the credit month by month have it rebuilt from the employee's dependants as they stand today. If anybody joined or left the scheme during the year, correct 4116 in e@syFile rather than adding to it.
  • Figures taken on from a previous payroll. Earnings, tax and contributions entered at take-on are the employer's own figures, reported as given. The take-on has no per-fund split, so its retirement contributions are reported as pension (4001 and 4472); if they were provident or retirement-annuity contributions, move them to the right code in e@syFile.
  • ETI claimed before you moved to Ledgr. The ETI in the file is what Ledgr's own runs claimed. Months claimed on your previous payroll's EMP201s are not in it — add those months, and only those, in e@syFile.

Why a return will not download — and the fix for each

Every generator validates before it produces a file. If something blocks the return you get the reasons on screen and no download at all, on purpose: a wrong file that SARS accepts is far more expensive to unpick than one you could not produce. All of these name the figure or the record involved, so you can go straight to it.

What Ledgr saysWhyWhat to do
No VAT / PAYE / SDL / UIF number captured for this company The return carries a reference number SARS matches you on, and it is not there. Settings → Company. Ledgr also checks the length, the leading digit and the check digit, so a mistyped one is caught here rather than at SARS.
There are no approved payslips for this month (EMP201) A draft payroll run declares nothing. Approve the run on Payroll → Pay History — see payroll. This is the most common reason an EMP201 reads low or empty.
There are no tax certificates for this tax year (EMP501) Same cause, a year further out: no approved payslips means no certificates. Approve every run in the window first.
N certificates cannot be submitted (EMP501, IRP5) Named employees are missing something e@syFile requires — usually a tax reference number or an ID number. Fix the employee records it lists. e@syFile rejects an entire import on one bad record, so this list up front is doing you a favour.
The ETI claim exceeds PAYE (EMP201) You cannot claim back more than you withheld in the month. Check the qualifying employees and their hours. The excess carries forward — it is not lost.
Output or input tax is negative (VAT201) A VAT201 declares tax charged and tax claimed; neither can be a negative number. Usually a credit note larger than the invoices in the period, or a manual journal posted the wrong way round. Find it in the general ledger against 2130 or 1340.
The trial balance does not balance (ITR14) Debits and credits differ for the year, so no income tax return can be built from it. Run the trial balance for the same year and find the journal. This is nearly always a hand-typed journal.
There are no posted journals for the year (ITR14) / no trading period to estimate from (IRP6) Nothing has been posted, so there is nothing to compute from. Expected on a brand-new company. Capture and post at least one month first.
Ledgr states no company income tax rate for that year (ITR14, IRP6) The year of assessment ends outside the range Ledgr holds a rate for. Ledgr refuses rather than borrowing a neighbouring year's rate, which would put a wrong tax figure on a return. Contact support@bcmobiletech.co.za — the rate can be published without an app update.
No beneficial owners are captured / the owners do not sum to the dividend (DTR01) SARS requires a DTR02 schedule naming every recipient, and the parts have to add up to the whole. Capture each owner with their share and their tax reference. Whether a dividend is exempt turns on who received it, which no ledger can tell you.
An exempt owner with no ground / no declaration (DTR01) An exemption has to be claimed on a stated ground and backed by a declaration from the recipient. Get the declaration before you file. Exempting without one is the liability landing on you.

The warnings, and which ones actually matter

A warning appears beside the download rather than instead of it, because each one has a legitimate explanation as well as a suspicious one — and a product that refused to file for any of these would be wrong more often than right. Read them before you submit, not after an assessment.

WarningWhat it means, and when to worry
Output tax does not tie to the VAT Output control account (2130)
Input tax does not tie to the VAT Input control account (1340)
The return's figure and the ledger account's movement differ, and Ledgr names the amount. Innocent cause: a prior-period adjustment posted this month, or a document dated in one period and posted in another. Worth chasing: a manual journal posted straight against a VAT account. This is the single most useful figure on the screen — it is Ledgr checking the return against your own books.
Draft payslips were excluded Exactly what it says, and the reason an EMP201 total can look low. Approve the run or accept that this month declares less.
The payment reference number was derived Ledgr worked out the PRN from your reference number rather than reading one you captured. Check it against eFiling before paying — a payment against a wrong PRN is an unallocated credit at SARS.
The VAT category was assumed / the period is off-cycle Your filing frequency and period-end are not what Ledgr assumed. Set them in Settings so the calendar and the period default are right next time.
ETI hours were assumed, ETI brought forward / carried forward, employer compliance ETI is the most conditional figure on an EMP201. Ledgr says what it assumed and what it carried; if you claim ETI, read all of these every month.
The two UIF legs differ Employee and employer UIF should match. A difference usually means an employee over the monthly ceiling was handled inconsistently.
Some fields are not mapped Ledgr declares capital-goods supplies, exported goods and the ordinary output and input fields. Anything else on the VAT201 — a change in use, a bad-debt adjustment — you add in eFiling. The warning lists which.

ITR14 and IRP6

ITR14 is the company income tax return for the year of assessment; IRP6 is the provisional return, first and second period. Ledgr produces an estimate for both from the same trial balance the income statement uses, and a trial-balance CSV as the supporting schedule SARS asks for alongside the return. Treat the figures as a working number to review with your accountant, not a final computation — permanent and temporary differences, assessed losses and capital allowances all need judgement Ledgr does not make for you.

DTR01 and the DTR02 schedule

Whether a dividend is exempt turns on who received it — a resident company is exempt under section 64F, a natural person is not — and a general ledger holds none of that. So dividend declarations are captured with their beneficial owners rather than derived, and each one produces a DTR01 to capture on eFiling plus a DTR02 CSV to attach.

The filing register

Every return you note as filed is listed with its tax type, period, amount and Ledgr reference. This is the register you produce when SARS asks what you filed and when. The references in it are Ledgr's own — the authoritative one is whatever eFiling gave you.

For tax practitioners

The SARS module is exactly where an external accountant does their work, so the Tax Practitioner role carries full SARS access — including the export right every download needs — and view and export on invoices, expenses, banking and payroll, without the ability to change user permissions. Invite them under roles & users, or through the practitioner workspace, and they can prepare and download every return above for the entities they have access to. See roles & users.

The role holds every action on Reports, not only view and export.

Reports is where the general ledger lives, so as seeded the Tax Practitioner can also post and reverse journals, open, close and lock accounting periods, rebuild the ledger and run depreciation. If your accountant should only read and download the financials, give them a custom role instead: SARS in full, view and export on Reports, and view and export on Payroll if they prepare the IRP5 certificates.

Key SA deadlines

ReturnFrequencyUsually due
VAT201Every two months, or monthly above the thresholdLast business day of the month following the period
EMP201Monthly7th of the following month
EMP501Twice a yearInterim in October, annual in May
IRP6Twice a yearEnd of the sixth month, and at year end
ITR14AnnuallyTwelve months after year end

Ledgr's calendar reflects your own registration and filing frequency; the table above is the general shape. Confirm your dates on eFiling.

Common problems

The two tables above cover every reason a return refuses to produce a file, and every warning it can raise beside one. These are the rest.

What you seeWhat to do
There is no "submit to SARS" button anywhere There is not meant to be. Ledgr computes the return and hands you a file; you (or your accountant) upload it to eFiling or import it into e@syFile. There is no connection to SARS, no credentials to enter and no connection status to check — see the overview.
A malformed year or month gave you a different period It will not: a year or month that cannot be read is refused rather than replaced with another. Answering a different period from the one asked for is how the wrong return gets filed.
The reference on a filed return is not SARS' Correct. The filing register records that you filed it and Ledgr's own reference; SARS' acknowledgement lives on eFiling. Paste theirs into the note if you want both in one place.
A return you already filed still shows as outstanding Mark it as filed in the register. Ledgr cannot know what happened on eFiling.
An IRP5 download is refused for a user who can see the returns centre Certificate returns need payroll access as well as SARS access, because an IRP5 is payroll data wearing a return's name. See Roles.
Your accountant cannot reach the returns The Tax Practitioner role carries full SARS access including export, so it is the one to give an external accountant. Inviting them is Roles; linking their practice for their own console is for accountants.
An edited invoice appears twice on the VAT201 It should not — every query feeding a return excludes replaced lines. If a figure still looks doubled, the control warning above will name the account and the amount.
A figure changed without you updating the app Statutory figures can be updated between app releases, so a rate moves the day it legally does rather than the day a release ships.