South Africa Standard VAT Rate

Good Day

Could someone change Standard VAT Rate of South Africa from 14.00% to 15.00%.

Thank You.

Albertus Geyser

Hi. you can edit the default VAT for your country in the account leader

Good Day

Thank You know you can change just thought someone could “permanently” change.


Hi @Albertus

I would not recommend changing it permanently yet as some new users who would want to import historic data would have challenges. I suggest adding 2 vat rules and the transaction can determine which vat rule to use from the rule.

kind regards

1 Like

Hi Albertus
I am also in SA and would like to talk to you - we may be able to assist each other

Hello all fellow South African ERPNext users

The latest version of ERPNext has just been released, v13.10. And it has a brand new South Africa feature : South Africa VAT Audit Report.

Please assess it and let us know whether it meets your requirements.

Also, please join our meetup group so we can address South African issues as a collective group :
Issues such as how to integrate PayFast and how to reference Pay As You Earn (PAYE) tax tables are currently up for discussion.

Kindest regards, Eugene

1 Like


Trying to do the update fails when sites are migrating and executing “Executing erpnext.patches.v13_0.add_custom_field_for_south_africa”

frappe.exceptions.DoesNotExistError: DocType South Africa VAT Settings not found

is the message im getting

kind regards

I experiencing the same issue while updating.


The rate has been updated now: fix: Correct South Africa VAT Rate by buff0k · Pull Request #25896 · frappe/erpnext · GitHub

still getting error when running update

Executing erpnext.patches.v13_0.add_custom_field_for_south_africa #2 in (_28547f523bc9aaca)
Traceback (most recent call last):
File “/usr/lib/python3.6/”, line 193, in _run_module_as_main
main”, mod_spec)
File “/usr/lib/python3.6/”, line 85, in _run_code
exec(code, run_globals)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/”, line 104, in
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/”, line 19, in main
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 829, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 782, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 610, in invoke
return callback(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/”, line 27, in func
ret = f(frappe.dict(ctx.obj), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/”, line 309, in migrate
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 67, in migrate
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 41, in run_all
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 30, in run_patch
if not run_single(patchmodule = patch):
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/patches/v13_0/”, line 14, in execute
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/regional/south_africa/”, line 34, in add_permissions
add_permission(doctype, ‘All’, 0)
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 509, in add_permission
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/”, line 1074, in validate_permissions_for_doctype
doctype = frappe.get_doc(“DocType”, doctype)
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 855, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/”, line 75, in get_doc
return controller(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/”, line 113, in init
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/”, line 156, in load_from_db
(“{0} {1} not found”).format(
(self.doctype),, frappe.DoesNotExistError)
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 437, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 416, in msgprint
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 370, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.DoesNotExistError: DocType South Africa VAT Settings not found

Hi, please see custom app that I have developed.