Case study 03
Accounting & Financial Workflows

The challenge
Several finance-related processes needed to change on live systems:
- New payroll allowances that must post to the right GL account and stay out of end-of-service and overtime bases.
- Incentive and quality-penalty rules that need management approval.
- Cheque handling with strict numbering.
- Before go-live, a full reset of transactional data on one database that keeps master data, configuration and numbering sequences.
My analysis and approach
I treat every accounting change like a migration:
- Baseline: fingerprint balances and stock valuation, including periodic AVCO valuation and opening stock.
- Rehearse on a restored copy.
- Compare the accounting results before and after.
- Approve: get explicit sign-off before production.
- Execute only after a restore-verified backup.
Technical implementation
- Payroll rules: new salary-rule lines mapped to GL accounts and excluded from end-of-service and overtime calculations. Contracts moved off an archived pay structure.
- Approval-gated incentive and penalty accounting rules.
- Cheque management (team module; I contributed to its development): cheque lifecycle (receive, deposit, clear, bounce, endorse), with an
@api.constrainsrule so checkbook number ranges never overlap. - E-invoicing (team modules; I participated in implementing them): a validation chain of business rules, then semantic rules, then XSD, then Schematron, before UBL/PINT XML is submitted. Developed against a simulated provider.
- Transactional reset: analysis of valuation, numbering restart and e-invoicing state, then a rehearsal, then an accounting verification report.
Verified result
- Transactional reset executed in production after a rehearsal, with a restore-verified backup.
- Payroll allowance rules verified by 33 payroll tests; incentive/penalty rules within a 118-test run (test database).
- Not claimed: sole authorship of the cheque-management and e-invoicing modules (I was a contributor), or their production status, which the evidence does not confirm.
← Advanced Sales & Inventory CustomizationAPI & External System Integration →