### Makap Backend ERP ### Installation You can install this app using the [bench](https://github.com/frappe/bench) CLI: ```bash 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: ```bash 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 ```bash bench --site $TEST_SITE run-tests --app makap_backend ``` ### Contributing This app uses `pre-commit` for code formatting and linting. Please [install pre-commit](https://pre-commit.com/#installation) and enable it for this repository: ```bash 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