Skip to content

Starktail/csf_za

Repository files navigation

South Africa Customisations

South Africa Customisations demo screenshot

South Africa Customisations

CI workflow codecov

Country Specific Functionality for South Africa

This is a Frappe app, intended to be used with ERPNext (version 15).

Features

  1. Value-added Tax Return: This makes submitting your VAT201 returns to SARS much easier
  2. Support for Bank Statements from South African Banks: Native import of .csv formats from FNB, ABSA and Bank Zero
  3. Easy-add of VAT in Bank Reconciliation Tool: No need to Edit in Full Page for those Journal Entries that require a VAT leg

License

MIT

User documentation

📄 South Africa Customisations Documentation

Installation

You can install this app using the bench CLI:

cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch develop
bench install-app csf_za

Development

Tests

To run unit tests:

bench --site test_site run-tests --app csf_za --coverage

To run UI/integration tests:

The following depencies are required

sudo apt update
# Dependencies for cypress: https://docs.cypress.io/guides/continuous-integration/introduction#UbuntuDebian
sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb

sudo apt-get install chromium
bench --site test_site run-ui-tests csf_za --headless --browser chromium

Contributing

This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:

cd apps/csf_za
pre-commit install

#(optional) Run against all the files
pre-commit run --all-files

Pre-commit is configured to use the following tools for checking and formatting your code:

  • ruff
  • eslint
  • prettier
  • pyupgrade

We use Semgrep rules specific to Frappe Framework

# Install semgrep
python3 -m pip install semgrep

# Clone the rules repository
git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules

# Run semgrep specifying rules folder as config 
semgrep --config=/workspace/development/frappe-semgrep-rules/rules apps/csf_za

Updating Documentation

For documentation, we use vitepress. You can run yarn docs:dev to preview the docs when applying changes

CI

This app can use GitHub Actions for CI. The following workflows are configured:

About

South Africa Customizations - Country Specific Functionality for South Africa

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors