Authorized protocol analysis and production-ready API implementations for ExpenseOnDemand: Expenses App, covering expense statements, GPS mileage, OCR receipts and accounting sync.
ExpenseOnDemand exposes a rich, B2B-grade dataset: structured employee expenses, GPS-tracked mileage logs, OCR-parsed receipt fields, multi-currency line items, credit card transactions, cost centres and approval workflow events. Our studio reverse-engineers the in-app traffic, integrates with the official ExpenseOnDemand Open API portal (Azure API Management) and ships ready-to-run code that pushes that data into your accounting, BI or HR systems.
Unlike a personal budget tracker, ExpenseOnDemand sits inside finance departments of small businesses, mid-market firms and global enterprises. Every record is captured at source via the mobile app or web portal, automatically tagged with cost centre, project, currency and tax codes, then routed through approval rules. That means an integration is not just connecting an app, it is opening a stream of board-grade financial data: travel expenses, subsistence, entertainment, mileage, mileage rates, credit card charges and VAT-reclaimable line items.
ExpenseOnDemand publishes an Azure-hosted developer portal (developer.expenseondemand.com) plus an APIDeck-powered two-way sync layer. The endpoints are real, but mapping them into a customer's chart of accounts, departmental hierarchy, multi-entity payroll and cross-border reimbursement rules is a custom engineering effort. That is where our studio adds value: we deliver the glue, not just a wrapper.
Reimbursement is a payment event. When ExpenseOnDemand approves an expense, the downstream pay-out (via payroll, virtual card or bank transfer) is exactly the kind of flow OpenFinance and OpenBanking initiatives target. Combining ExpenseOnDemand statement data with PSD2 / Open Banking account data gives finance teams a closed-loop view of who claimed what, when it was paid and how it was reconciled.
Mirrors the ExpenseOnDemand mobile and web sign-in flow: subscription key acquisition, OAuth 2.0 token exchange against the Azure API Management gateway, refresh-token rotation and per-tenant subscription handling. Used to bind employer tenants, claimants, approvers and finance admins under one programmatic identity.
Exposes paginated expense lists with date-range and status filters (draft, submitted, approved, reimbursed). Each row carries amount, currency, exchange rate, category, project, mileage flag, VAT amount and approver chain — directly consumable by reconciliation and reporting dashboards.
The app uses a foreground service with persistent notification to track mileage. We surface the resulting trip records (start_lat, start_lng, end_lat, end_lng, distance_km, rate, claim_amount, business_purpose) so they can be cross-checked against Google Maps triangulation and pushed into payroll for tax-aware reimbursement.
ExpenseOnDemand's receipt scanning runs OCR with stated 99.9% claim accuracy and supports multi-page captures. Our module returns the structured receipt JSON (merchant, date, sub-totals, tax_breakdown, line_items[]) plus the original image URL, so receipts can be archived in your document management system or e-invoicing workflow.
Two-way sync of cost centres, projects, claimants, approvers, grades and additional custom fields. Critical for organisations whose finance hierarchy lives in NetSuite, Microsoft Dynamics, Xero or Sage and needs to stay consistent with the expense app.
Subscription to status-change events: "submitted", "approved by manager", "rejected", "reimbursed". Used to trigger downstream payments, notify Slack/Teams channels or update an audit ledger in real time.
| Data type | Source (screen / feature) | Granularity | Typical use |
|---|---|---|---|
| Expense claim | "Add expense" / report submission | Per-line item, per-employee, per-project | Reconciliation, payroll, P&L analytics |
| Mileage trip | GPS foreground tracking | Per-trip with coordinates and distance | HMRC / IRS mileage reimbursement, fraud detection |
| Receipt image & OCR fields | Receipt scanner / camera capture | Per-receipt JSON + original image | VAT reclaim, document archive, e-invoicing |
| Credit card transaction | Linked corporate card feeds | Per-transaction with merchant code | Auto-matching to claims, fraud control |
| Multi-currency conversion | Trip and overseas claims | Per-line FX rate & settlement currency | Cross-border reporting, group consolidation |
| Cost centre & project | Admin / company config | Hierarchical master data | Allocation in ERP / NetSuite / Dynamics |
| Employee, claimant, approver | HR config | Per-user with grade and role | HRIS sync, policy enforcement |
| Approval state events | Workflow engine | Per-status change with timestamp | Audit log, real-time pay-out triggers |
Context: A UK-based services firm closes books weekly; finance staff currently re-key approved expense reports from ExpenseOnDemand into Xero.
Data & APIs: /expenses?status=approved&from=...&to=... → Xero Bills/Invoices API. Fields mapped: expense_id → reference, employee_id → contact, category → account_code, vat_amount → tax_amount, currency → currency_code.
OpenData mapping: Each approved claim is treated as a structured "transaction object" published by an OpenFinance source, then ingested by the accounting platform via the standard accounting OpenAPI bindings.
Context: A field-services company pays drivers by HMRC AMAP rates. They need a defensible mileage record per pay period.
Data & APIs: /mileage?employee_id=...&period=YYYY-MM → payroll service. We fetch trips with start_lat/start_lng/end_lat/end_lng/distance_km, apply rate bands, deduplicate against credit-card fuel charges and post net-of-tax amounts to payroll.
OpenData mapping: Mileage trips become a dedicated open dataset feeding both reimbursement and ESG reporting (CO₂ emissions per km).
Context: A multi-entity EU group must store digitised receipts and reclaim VAT under local rules.
Data & APIs: /receipts?id=... returns merchant, vat_breakdown[], line_items[], image_url. We extract reclaimable VAT, match to expense IDs and forward to the group's e-invoicing platform (e.g. PEPPOL connector).
OpenData mapping: Treat each receipt as a structured invoice fragment; the integration becomes an OpenData publisher of "deductible-VAT events".
Context: A scale-up wants to fund employee virtual cards within minutes of an approval, instead of monthly batch reimbursement.
Data & APIs: Webhook on status="approved" → corporate-card issuer top-up API. Carries claim_amount, currency, employee_id, claim_id.
OpenFinance mapping: Combines an OpenData expense event with an OpenBanking initiated payment under PSD2, closing the loop end-to-end.
Context: A holding company needs monthly consolidated travel-and-entertainment reports across UK, EU, India and US subsidiaries.
Data & APIs: Tenant-scoped /expenses pulls per subsidiary, FX-normalised to GBP, joined with cost-centre master data and pushed to a BI warehouse (Snowflake / BigQuery).
OpenData mapping: Each subsidiary tenant exposes the same canonical schema; the consolidated layer is itself a downstream OpenData product the CFO office can query.
// Step 1 — exchange subscription key + user creds for a token
POST /oauth/token
Host: developer.expenseondemand.com
Ocp-Apim-Subscription-Key: <SUB_KEY>
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=finance@acme.com
&password=***&tenant=acme&scope=expenses.read mileage.read
Response:
{
"access_token": "eyJhbGciOi...",
"expires_in": 3600,
"refresh_token": "rt_...",
"tenant_id": "acme"
}
POST /api/v1/eod/expenses.export
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
{
"tenant_id": "acme",
"from_date": "2026-03-01",
"to_date": "2026-03-31",
"status": ["approved", "reimbursed"],
"currency": "GBP",
"include": ["receipts", "vat", "cost_centre"]
}
200 OK
{
"expenses": [
{
"expense_id": "EXP-10293",
"employee_id": "EMP-42",
"category": "Travel - Mileage",
"amount": 128.40,
"currency": "GBP",
"vat_amount": 21.40,
"cost_centre":"CC-LON-OPS",
"project": "PRJ-CRM",
"approval": { "state": "approved", "approver_id": "EMP-7" },
"receipts": [{ "id": "R-7712", "url": "https://.../R-7712.jpg" }]
}
],
"next_cursor": "eyJwYWdlIjoyfQ=="
}
POST /webhooks/eod/mileage (your endpoint)
Content-Type: application/json
X-EOD-Signature: t=1714291200,v1=...
{
"event": "mileage.completed",
"trip_id": "MIL-558",
"employee_id": "EMP-42",
"started_at": "2026-04-22T08:14:00Z",
"ended_at": "2026-04-22T09:02:00Z",
"distance_km": 41.7,
"rate_per_km": 0.45,
"claim_amount": 18.77,
"currency": "GBP",
"purpose": "Client visit - Acme Ltd",
"geo": {
"start": { "lat": 51.5074, "lng": -0.1278 },
"end": { "lat": 51.4545, "lng": -2.5879 }
}
}
// Verify HMAC, idempotency on trip_id, then forward to payroll.
A typical pipeline looks like this — kept deliberately simple so it can be audited:
ExpenseOnDemand is a B2B expense management platform aimed primarily at small and mid-market businesses, with a noticeable footprint in the United Kingdom, India and across English-speaking markets. Its users are typically finance teams, line-of-business approvers and travelling employees on Android and iOS, plus a web portal for admins. Recent product direction (visible on the vendor's "What's New" page and 2025–2026 reviews on G2 and Gartner Peer Insights) emphasises improved AI-driven receipt OCR, multi-page capture, GPS-foreground mileage tracking and deeper integrations with HRIS and accounting systems via APIDeck. That makes ExpenseOnDemand an appealing OpenData source for any organisation that wants a single, structured feed of corporate spend without rolling its own card-issuer or building a receipt-OCR pipeline from scratch.
Click any screenshot to view it at full size.
Finance teams that integrate ExpenseOnDemand often run side-by-side with one or more peer platforms. The list below is provided purely as an ecosystem reference — when teams need unified expense exports, mileage data or receipt OCR feeds across several products, our studio can extend the same OpenData pattern to any of them.
We are an independent technical studio specialising in App interface integration and authorised API integration. Our engineers come from fintech, payments, accounting platforms and protocol-analysis backgrounds. We have shipped expense, payroll, banking and ERP integrations for clients in the UK, EU, India, the Middle East and North America, and we know how to navigate the difference between a published Open API and a real production integration.
Send us your target app and integration requirements, and we will reply with a scoped quote and timeline. Authorised use cases only.
What do you need from me?
How long does delivery take?
How do you handle compliance?
ExpenseOnDemand: Expenses App (package id com.expenseondemand.soloexpenses) is an on-the-go business expense report app designed to replace paper-based claims and manual expense systems. By leveraging the mobile platform, it captures expenses at source, eliminates errors and data-entry hassle, helps reduce expense fraud, and delivers a 100% compliant claims process — with no training required for end users.
Note from the publisher: continued use of GPS running in the background can dramatically decrease battery life.