to select ↑↓ to navigate
SA Practitioner Guide

SA Practitioner Guide

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Post-Install Verification

Post-Install Verification

Run these checks immediately after installing (or migrating) so you start configuration on a known-good base. If any check fails, re-run bench --site <site> migrate and bench --site <site> clear-cache, then re-check.

1. The app and workspaces are present

  • Open the Frappe desk. You should see an SA Localisation app tile.
  • Confirm these workspaces exist in the sidebar: SA Overview, SA VAT, SA Labour, SA COIDA, and — only if HRMS is installed — SA Payroll.

2. Custom fields are applied

Spot-check a few standard DocTypes:

  • Company → there should be a South African Registration section with VAT number, PAYE/UIF/SDL reference numbers, COIDA registration, SETA and bargaining council fields.
  • Customer → a VAT vendor checkbox and company registration field.
  • Item Group → an Is Capital Goods checkbox.
  • With HRMS: Employee → South African Details, Tax Certificate and Employment Equity sections; Salary Component → SARS payroll code, payroll treatment, PAYE inclusion %, and UIF/SDL/COIDA applicability checkboxes.

If fields are missing, the custom-field sync did not complete — re-run bench migrate.

3. Print formats are installed

Go to Print Format list and filter by name "SA". You should see the SA invoice/order/note formats. With HRMS you also get the SA Salary Slip and IRP5 formats.

4. SARS payroll codes are seeded

Open the SARS Payroll Code list. It should contain income, deduction and employer-contribution codes (e.g. 3601, 4102, 4141). These drive IRP5 line grouping.

5. Statutory rate packs resolve (full suite)

The payroll engine reads date-effective rate packs from za_local/sa_setup/data/statutory_rates_*.json. To confirm the current tax year resolves, run:

bench --site <site> console
from za_local.utils.statutory_rates import get_rate_pack
get_rate_pack(frappe.utils.today())["tax_year"]

It should print the active tax year (for example 2026-2027). If it raises "No South African statutory rate pack is configured", the pack for that date is missing — see Annual Statutory Update.

6. ETI slabs and travel rates are seeded (full suite)

Open the ETI Slab and Travel Allowance Rate lists. Each configured tax year should have records, seeded from the statutory packs.

Ready

With these checks passing, proceed to Foundation Setup.

Last updated 1 month ago
Was this helpful?
Thanks!