Project case studyClose
CMS — Enterprise Billing Platform

Bank bills, generated on a schedule.

Generates the bills banks owe for cash management and cash van services, across multiple states.

Role
Full stack engineer
Clients
Axis Bank, SBI and others
At
Oneture Technologies
Services
Cash management, cash van
Year
2025
01 / Overview

Billing for moving cash.

Banks pay a provider to manage their cash and to move it by van, the cash-in-transit side of banking. Every cycle, someone has to work out what each bank owes, in each state, and produce a bill.

The platform generates those bills, with one workflow for cash management and one for cash van billing.

02 / What we found

The things that made it hard.

01

Rates, SLAs and deductions differ by bank and by state, so the rules have to be data, not code.

02

A run must be safe to repeat. A retry should never bill the same thing twice.

03

Finance needs to see who changed what: the person who raises a change should not be the one who approves it.

03 / The problem

How do you bill many banks, in many states, the same dependable way?

Every bank and state brings its own rates, service levels and deductions. Coding each one separately would not scale past the first few.

04 / How it got built

3 passes at it.

Pass 01

Rules as configuration

  • Object-oriented rate-card, SLA and deduction models.
  • A new bank, state or provider is added through configuration, not a release.
  • The billing schema covers GST and FASTag charges.
ResultOnboarding another bank stopped needing new code.
Pass 02

Bills that run themselves

  • Celery workers, Redis and Python cron jobs generate bills on a schedule, in batches.
  • Retries and idempotency keys mean a re-run recomputes rather than re-bills.
ResultBilling cycles run without someone driving each step.
Pass 03

The workflow and the screens

  • Designed the full application UI and the cash management and cash van billing workflow.
  • Built the Python backend behind it.
  • Maker-checker approval enforced through JWT and RBAC.
ResultOperations and finance work from one system, with approvals that are traceable.
05 / Where it landed

What came out of it.

2+
banks billed
2
billing services
Multi
state coverage

The interesting part was never the bill itself. It was making sure a re-run at 2am gives the same answer as the first run.

PythonFastAPICeleryRedisPostgreSQLReactVite