How navariltd/navari_csf_ke works
CSF_KE is a Frappe/ERPNext application adding Kenyan tax compliance, eTIMS support, statutory payroll reporting, and localized business features. A key user workflow uploads eTIMS CSVs in the Kenya Sales Tax Reconciliation page, compares them with ERPNext sales-tax data, and can save the reconciliation. Separately, ERPNext invoice events feed localized validations and price updates; eTIMS queue jobs run in background workers. The README documents additional payroll and tax reports. Those reports are grouped by capability because individual implementations were not sampled.
Main entry points: kenya_sales_reconciliation.py Reconciliation Logic · App.jsx Reconciliation Page · etims_sales_ledger.py eTIMS Sales Ledger · hooks.py ERPNext Event Hooks
Components 22
Sales Reconciliation
- Reconciliation Page
csf_ke/public/js/kenya_sales_tax_reco/App.jsx - Reconciliation Logic
csf_ke/csf_ke/doctype/kenya_sales_reconciliation/kenya_sales_reconciliation.py - Saved Reconciliation
csf_ke/csf_ke/doctype/kenya_sales_reconciliation/kenya_sales_reconciliation.py - Uploaded CSV Files
- Sales Tax Report
csf_ke/csf_ke/report/kenya_sales_tax_report/kenya_sales_tax_report.py
eTIMS Compliance
- eTIMS Sales Ledger
csf_ke/etims/report/etims_sales_ledger/etims_sales_ledger.py - Sales Invoices
- eTIMS Ledger Entries
csf_ke/etims/doctype/etims_sales_ledger_entry/etims_sales_ledger_entry.py - Queue Manager
csf_ke/etims/doctype/etims_queue_manager/etims_queue_manager.py - eTIMS Job Queue
csf_ke/etims/doctype/etims_job_queue/etims_job_queue.py - Background Worker
csf_ke/etims/doctype/etims_queue_manager/etims_queue_manager.py
Payroll Reporting
- Statutory Payroll Reports
csf_ke/csf_ke/report - Payroll Records
Tax And Finance
- Localized Tax Reports
csf_ke/csf_ke/report - VAT Withholding
csf_ke/csf_ke/doctype/vat_withholding/vat_withholding.py
Business Localization
- Item Price Margins
csf_ke/csf_ke/doctype/selling_item_price_margin/selling_item_price_margin.py - ERPNext Event Hooks
csf_ke/hooks.py - Price Updates
csf_ke/csf_ke/utils/item_price.py - KRA PIN Validation
csf_ke/csf_ke/overrides/sales_doc.py
Other components
- ERPNext User
- KRA eTIMS
- ERPNext Platform
Connections 22
- ERPNext User → Reconciliation Page: uses
- Reconciliation Page → Uploaded CSV Files: uploads CSVs
- Reconciliation Page → Reconciliation Logic: calls reconciliation
- Reconciliation Logic → Sales Tax Report: compares against
- Reconciliation Logic → Uploaded CSV Files: reads uploaded data
- Reconciliation Logic → Saved Reconciliation: saves record
- ERPNext User → eTIMS Sales Ledger: runs report
- eTIMS Sales Ledger → Sales Invoices: reads invoice data
- eTIMS Sales Ledger → eTIMS Ledger Entries: reads ledger data
- Queue Manager → eTIMS Job Queue: selects jobs
- Queue Manager → Background Worker: enqueues execution
- Background Worker → eTIMS Job Queue: runs job
- ERPNext User → Statutory Payroll Reports: runs report
- Statutory Payroll Reports → Payroll Records: reports on
- ERPNext User → Localized Tax Reports: runs report
- ERPNext User → VAT Withholding: imports data
- ERPNext Platform → ERPNext Event Hooks: dispatches events
- ERPNext Event Hooks → Price Updates: calls on submit
- ERPNext Event Hooks → KRA PIN Validation: calls on validation
- ERPNext User → Item Price Margins: configures margins
- Item Price Margins → ERPNext Platform: supports pricing
- KRA eTIMS → Uploaded CSV Files: provides statements