Finance automation · 2026
Accounting Management System
Automates the monthly asset-income, driver, trip, contract, fuel, idle-time and overtime reports that finance used to assemble by hand from the operations portal.
- Context
- In-house at Ashwheelz, Aramco-certified transport and equipment rental group in Saudi Arabia, where I am Technical Head
- Role
- Analysis, build, rollout
- Stack
- Python 3 · Flask · Portal sessions + TOTP re-login · Microsoft Graph · openpyxl · Vanilla JS · Railway
Updated 14 Nov 2026

The problem
Month-end meant exporting a dozen grids from the operations portal into Excel and rebuilding gross profit per vehicle by hand: salary, kilometre allowances, fuel, maintenance, visas, contract invoices. It took days and every month the formulas drifted.
What I built
A Flask app that logs into the portal (session cookies plus two-factor code typed by the user, never stored), pulls the raw grids once per period, and recalculates every report from cached data whenever a setting changes. Overtime follows the company's real rules: rolling 60-minute windows, Saturday duty hours, holiday whole-day OT, per-person rates.
- Asset Income report: GP per vehicle = (monthly + trip revenue) − (salary + km pay + fixed costs + maintenance + fuel + visa)
- Driver, Trip, Company, Clients, Paired Trips and Contract reports
- Fuel report per vehicle with date/trip detail and Fuel/KM
- Idle-time report: gaps between a vehicle's drop-off and next pick-up
- Coordinator / Dispatcher / JMP overtime with verified sheets upload
- Settings: drivers & salaries, overtime rules, vehicle master, fixed expenses, duty schedules
- Odoo partner-ledger reconciliation against portal sales
- Excel export for every report in the finance team's own workbook layout, full month or 1–10 / 1–20 cuts
Outcome
Month-end reporting went from days of spreadsheet work to one 'Load period data' click; overtime matched the manual sheets to the minute in the first verification month.
Screens








Want this for your company?
The engagement is described on the Odoo ERP implementation service page: who it is for, what you get, how it runs, and the questions I get asked.
Offered through Tech Solutions
This kind of system is delivered commercially by my company, Tech Solutions. The matching pages there:
Notes from this build
Have a process like this?
Send me the thing your team does by hand every week. I will tell you honestly whether it is worth automating, even when the answer is no.


