Reviewed-on: #1
Makap Backend
ERP
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 makap_backend
Setting up a site for Makap Uganda
bench migrate creates the custom fields, roles and role profiles. Company setup is a separate, manual step, because it creates accounts and must never run by accident. Run it as a dry run first, read the plan it prints, then apply it:
bench --site $SITE execute makap_backend.makap_backend.setup_uganda.run
bench --site $SITE execute makap_backend.makap_backend.setup_uganda.run --kwargs "{'confirm': 1}"
It creates a UGX company on the Standard chart, a July–June fiscal year, VAT 18% templates, stage WIP, Quarantine, Returns Hold and Rejected warehouses, and sets Manufacturing Settings to backflush on transferred material. It never deletes anything. Remove any older company by hand once the new one has been checked.
Defaults Makap still has to confirm
The code ships with these defaults; each one is a business decision, not a technical one:
- Roll identity: one Batch per physical roll (Batch → Roll Details).
- Cylinder ownership: recorded per cylinder (Makap, Customer, or Charged to Customer).
- Consumption costing: backflush on "Material Transferred for Manufacture", so the Work Order Cost Variance report shows actual use.
- Company: "Makap Uganda Limited" (MUL), fiscal year July–June.
- EFRIS: not integrated. Sales Invoices carry a manual fiscalisation status until the integration route is chosen.
Running tests
bench --site $TEST_SITE run-tests --app makap_backend
Contributing
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/makap_backend
pre-commit install
Pre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
License
mit