この記事は現在英語版のみです。翻訳は近日公開予定です。
Odoo South Africa Localization 2026: SARS, VAT 201 & E-Invoice Setup
The South African Revenue Service (SARS) administers a sophisticated tax framework with VAT, corporate income tax, PAYE, and several specialized taxes through the eFiling platform. Unlike many regional peers, South Africa has not yet mandated real-time electronic invoicing — invoice management remains based on standard tax invoice requirements per the VAT Act, with VAT 201 returns submitted bi-monthly through eFiling. SARS's modernization roadmap signals upcoming e-invoicing developments through 2026-2027 under the Smart Nation initiative. Odoo's l10n_za localization handles the South African chart of accounts, VAT, and basic statutory requirements, with full SARS compliance achievable through proper configuration.
Key Takeaways
- SARS administers VAT (15%), Corporate Tax (27%), PAYE, UIF, SDL, and DWT
- VAT 15% standard rate; 0% on exports and zero-rated supplies; exempt for financial services
- No real-time e-invoicing mandate yet (2026); SARS eFiling for return submission
- Odoo
l10n_zacovers chart of accounts and VAT taxes; SARS reports require Enterprise or custom- PAYE submitted monthly via EMP201; reconciliation via EMP501 bi-annually
- Statutory reports include VAT 201, EMP201, EMP501, ITR14 (corporate), IRP5/IT3a (employees)
- Tax invoice requirements per Section 20 of VAT Act — strict formatting rules
South Africa Tax Framework Overview
SARS enforces:
- VAT: 15% standard rate (raised from 14% in April 2018); 0% on exports, basic foods, fuel; exempt for financial services, residential rental, education
- Corporate Income Tax (CIT): 27% (reduced from 28% effective April 2022); turnover-based small business corporations enjoy lower rates
- PAYE (Pay As You Earn): Progressive personal income tax, brackets up to 45%
- UIF (Unemployment Insurance Fund): 1% employee + 1% employer, capped at maximum monthly remuneration
- SDL (Skills Development Levy): 1% employer, if total payroll exceeds R500,000/year
- Dividend Withholding Tax: 20%
- Tax on retirement contributions: Specific rates and thresholds
Required Odoo Localization Modules
| Module | Purpose | Edition |
|---|---|---|
l10n_za | South Africa chart of accounts | Community |
l10n_za_account | Localized financial reports | Community / Enterprise |
l10n_za_reports | VAT 201, IRP5, EMP201 reports | Enterprise / Custom |
account_reports | Tax report engine | Enterprise |
hr_payroll_l10n_za | PAYE, UIF, SDL, IRP5 payroll | Enterprise / Custom |
For PAYE and EMP201 / EMP501 reconciliation, Odoo's native payroll plus e@syFile integration (SARS-provided desktop software) is the typical pattern. Direct eFiling submission requires SARS API approval, which is granted to specific software vendors.
Chart of Accounts Setup
South Africa follows IFRS as adopted by SAICA. The l10n_za chart provides:
- 1xxx: Assets
- 2xxx: Liabilities (VAT control, PAYE control, UIF, SDL, CIT provision)
- 3xxx: Equity
- 4xxx: Revenue (segregated for standard, zero-rated, exempt)
- 5xxx: Cost of sales
- 6xxx-7xxx: Operating expenses
Configure the company record with:
- Income Tax Reference Number (10 digits, prefixed with company class indicator)
- VAT Vendor Number (10 digits starting with 4)
- PAYE Reference Number (10 digits starting with 7)
- UIF Reference Number
- CIPC registration number
- BBBEE level (if applicable for procurement)
VAT Configuration
Configure VAT tax records:
| Tax Name | Rate | Type | Notes |
|---|---|---|---|
| VAT 15% Output | 15% | Sales | Standard taxable supplies |
| VAT 0% Output (Exports) | 0% | Sales | Direct exports, qualifying foreign |
| VAT 0% Output (Zero-rated) | 0% | Sales | Brown bread, maize meal, fuel, etc. |
| VAT Exempt | 0% | Sales | Financial services, residential rent, education |
| VAT 15% Input | 15% | Purchase | Recoverable for taxable activities |
| VAT 100% Input Disallowed | 15% | Purchase | Entertainment, motor vehicles |
Section 17 of the VAT Act restricts input VAT recovery on:
- Entertainment expenses (including business entertainment)
- Motor vehicles (sedans, station wagons, with limited exceptions)
- Subsistence expenses for foreign trips (in some cases)
- Goods/services for non-taxable activities
Configure these as separate input tax codes posting to expense rather than VAT recoverable.
<record id="account_tax_za_15_input_blocked" model="account.tax">
<field name="name">VAT 15% Input (Blocked - Entertainment)</field>
<field name="amount">15</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="invoice_repartition_line_ids" eval="[
(0,0,{'factor_percent': 100, 'repartition_type': 'base'}),
(0,0,{'factor_percent': 100, 'repartition_type': 'tax', 'account_id': ref('entertainment_expense_account')})
]"/>
</record>
Tax Invoice Requirements (Section 20)
A valid tax invoice in South Africa must include:
- Words "Tax Invoice" or "VAT Invoice" prominently
- Supplier's name, address, and VAT number
- Recipient's name, address, and VAT number (for full tax invoice when value exceeds R5,000)
- Serial number and date of issue
- Description of goods/services
- Quantity and amount
- Total amount inclusive of VAT, the VAT amount, and the rate
For supplies under R50, an abridged tax invoice is acceptable. For supplies between R50-R5,000, a tax invoice is required but recipient details may be limited. Above R5,000, full tax invoice is mandatory for input VAT recovery.
Bi-Monthly VAT 201
Most VAT vendors submit VAT 201 bi-monthly (Category A: end of February, April, June, August, October, December; Category B: end of January, March, May, July, September, November). Smaller vendors may be on monthly returns; specific categories on annual.
Key VAT 201 fields:
- Output VAT (Block 1)
- Input VAT (Block 14)
- Adjustments (Block 18)
- Net VAT payable/refund
Odoo's VAT report should aggregate by tax category, ready for population into eFiling.
PAYE Configuration
PAYE is calculated using SARS tax tables. Brackets for 2026 fiscal year (April 2025 - March 2026):
- 0 - R237,100: 18%
- R237,101 - R370,500: 26%
- R370,501 - R512,800: 31%
- R512,801 - R673,000: 36%
- R673,001 - R857,900: 39%
- R857,901 - R1,817,000: 41%
- Above R1,817,000: 45%
Primary rebate, secondary rebate (age 65+), and tertiary rebate (age 75+) reduce tax liability. Medical aid tax credits and other rebates apply per SARS specifications.
UIF: 1% employee + 1% employer on monthly remuneration capped at R17,712.
SDL: 1% employer on total payroll if exceeding R500,000/year.
Payroll Reporting
Monthly EMP201 includes:
- PAYE deducted
- UIF contributions
- SDL contributions
Submitted via eFiling by the 7th of the following month.
Bi-annual EMP501 reconciliation:
- February submission for the period ending 31 August
- August submission for the period ending 28/29 February (annual)
- Includes per-employee IRP5/IT3(a) certificates
Odoo's payroll module generates EMP201 totals and per-employee data. Submission typically via SARS e@syFile or direct eFiling for approved vendors.
Reporting Requirements
A South Africa Odoo deployment must produce:
- VAT 201: Bi-monthly via eFiling
- EMP201: Monthly PAYE/UIF/SDL via eFiling
- EMP501: Bi-annual reconciliation
- IRP5/IT3(a): Annual employee tax certificates
- ITR14: Annual corporate income tax return
- IT3 series (IT3(b), IT3(c), etc.): Information returns for various third-party data
- DWT-001: Dividend Withholding Tax declaration
Implementation Checklist
- Confirm Income Tax, VAT, PAYE, UIF reference numbers with SARS
- Install
l10n_za; configure tax numbers, registered address - Verify chart of accounts; map control accounts (VAT, PAYE, UIF, SDL)
- Configure VAT 15%, zero-rated, exempt; blocked input codes
- Implement Section 20-compliant tax invoice template
- Configure payroll with current year PAYE brackets, rebates, medical credits
- Set up UIF, SDL, retirement annuity deductions
- Build VAT 201 export aligned to eFiling format
- Build EMP201 and IRP5/IT3(a) export for SARS e@syFile
- Schedule submissions: EMP201 by 7th, VAT 201 by end of bi-monthly cycle
Common Pitfalls
Wrong VAT vendor classification: Category A vs B determines bi-monthly cycle. Ensure correct category in Odoo for accurate report period.
Missing blocked input codes: Recovering VAT on entertainment or motor vehicles triggers SARS audit adjustments and penalties.
Tax invoice format non-compliance: Tax invoices missing the "Tax Invoice" wording or VAT vendor number can be rejected as input VAT support documents by recipients.
PAYE rebate misapplication: Primary, secondary, tertiary rebates are age-dependent. Mass-applying primary rebate to all employees underestimates tax for employees under 65.
EMP501 reconciliation gaps: The bi-annual reconciliation must match monthly EMP201 submissions plus per-employee IRP5 totals. Unreconciled differences trigger SARS queries.
ECOSIRE provides Odoo localization for South Africa, including SARS-compliant invoicing, VAT 201 reporting, and EMP201/EMP501 payroll. Contact us for implementation or explore accounting services.
Frequently Asked Questions
Is South Africa moving to e-invoicing?
SARS has indicated plans for an electronic invoicing framework as part of its modernization strategy, with public consultation having occurred in 2023-2024. As of early 2026, no firm mandate is in effect — invoices remain manual with VAT 201 returns through eFiling. Build Odoo with future e-invoicing capability in mind by structuring data per UBL principles.
Can Odoo file VAT 201 directly with eFiling?
SARS eFiling does not have a public API for ERP submission. Most clients export the VAT 201 figures from Odoo and manually populate the eFiling form. Some payroll integrations exist via e@syFile for EMP201/EMP501. ECOSIRE typically configures one-click VAT 201 reports that match the eFiling layout for fast manual entry.
How do we handle the medical aid tax credit?
Medical Tax Credit applies for medical aid contributions: R364/month for the main member, R364 for the first dependent, R246 for each additional dependent (2026 rates). These credits reduce PAYE liability. Configure Odoo payroll with employee-level medical aid dependents to compute the credit automatically.
What's the threshold for SDL liability?
Skills Development Levy applies to employers with annual payroll above R500,000. The 1% levy is on total payroll. Below the threshold, employers are exempt. Configure Odoo to compute SDL only when total payroll crosses the threshold; smaller businesses save 1% by remaining under.
Can we use Odoo for both monthly and bi-monthly VAT vendors?
Yes — configure the VAT period in the company settings (or per tax journal). Odoo's VAT report respects the period and aggregates correctly. Most South African deployments are bi-monthly Category A or B; monthly is for specific vendor categories with consistent refund positions.
執筆者
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
関連記事
Odoo フォーム ビューにカスタム ボタンを追加する方法 (2026)
Odoo 19 フォーム ビューにカスタム アクション ボタンを追加します: Python アクション メソッド、ビューの継承、条件付き可視性、確認ダイアログ。製造テスト済み。
Studio を使用せずに Odoo にカスタムフィールドを追加する方法 (2026)
Odoo 19 のカスタム モジュールを介してカスタム フィールドを追加します: モデル継承、ビュー拡張、計算フィールド、ストア/非ストアの決定。コードファースト、バージョン管理。
外部レイアウトを使用して Odoo にカスタム レポートを追加する方法
web.external_layout: QWeb テンプレート、paperformat、アクション バインディングを使用して、Odoo 19 でブランド化された PDF レポートを構築します。印刷ロゴ + フッターのオーバーライド付き。