How to test an expense management tool
Direct answer
Shipped untested, an expense management tool keeps a departed employee's corporate card live after offboarding, and pays a personal dinner split into two receipts below the approval threshold or a card charge claimed again as out-of-pocket, in the offboarding and reimbursement flows. 9 tests are mandatory here, each tied to a risk in the map below. After the release smoke check, start the risk tests with end-to-end functional tests: a report with no receipt or business purpose must be blocked from payment, a split or re-claimed charge must be flagged, and a leaver's cards must freeze on the offboarding date.
9 mandatory testsfirst: end-to-end functional tests
What counts as an expense management tool
An expense management tool here means a web and mobile product that issues or controls corporate cards, captures receipts, routes reports for approval and pays reimbursements to employees. It counts when the tool stores receipt images and card data for employees of one or more customer companies. A general ledger product that only receives approved expense totals is out of scope, and so is a personal budgeting app with no employer approval chain.
Adjacent product types not covered here
- accounting and invoicing SaaS: An accounting product receives approved totals, so its risk sits in ledger postings and tax filings rather than receipt capture and card controls.
- neobank: A neobank holds the customer's primary account and carries deposit and transfer risks, while an expense tool spends an employer's money through cards it issues and freezes.
Risk map
| Risk | Grade | Note | Evidence | |
|---|---|---|---|---|
| Fraud or abuse by users fraud-abuse | money | secondary | An employee splits one personal dinner into two receipts below the approval threshold and is reimbursed for it, or claims a corporate card charge again as out-of-pocket and is paid twice. | |
| Money leaves or fails to arrive money-loss | money | secondary by design analysis | A departed employee's corporate card keeps working because offboarding does not freeze it, and the company carries the charges under its card agreement. | |
| Fine or enforcement by a regulator regulatory-penalty | legal | primary | Reimbursements are paid without a receipt or business purpose, or unspent travel advances are never returned, so the payments fail accountable plan rules and become taxable wages. | |
| Personal or sensitive data exposed data-breach | data | secondary by design analysis | Receipt images show hotel folios, home addresses and card numbers, and an approver can open another department's receipts by changing a report ID. | |
| Records silently wrong data-corruption | data | primary | A phone photo of a receipt is compressed until the amount is unreadable, or detached from its expense line after an edit, and fails an audit. |
Mandatory tests (9)
Step 1: release smoke tests
Why:money-loss
Done when: After each release, a test employee captures a receipt, submits a report, a manager approves it and the reimbursement appears in the payout file.
Tool class: mobile automation. Who usually runs it: QA engineer.
Step 2: end-to-end functional tests
Why:regulatory-penaltymoney-lossfraud-abuse
Done when: A report with a missing receipt or business purpose cannot be approved for payment, and an employee leaving the company has every card frozen on the offboarding date, and a dinner split into two receipts below the approval threshold, or a card charge claimed again as out-of-pocket, is flagged before payment.
Tool class: browser automation. Who usually runs it: QA engineer.
Step 3: penetration testing
Why:data-breachmoney-lossfraud-abuse
Done when: An external tester cannot open another team's receipts by changing an ID, and cannot raise their own card limit or approve their own report.
Tool class: proxy. Who usually runs it: external lab.
Step 4: integration tests
Done when: A card transaction from the issuer processor appears once on the cardholder's expense list with the same amount, currency and merchant, and a reversal removes it.
Tool class: API client. Who usually runs it: developer.
Step 5: payment and money-flow testing
Why:money-loss
Done when: In the card sandbox, a frozen card declines the next purchase, a merchant-category block declines a blocked purchase, and a spend limit declines the first charge above it.
Tool class: API client. Who usually runs it: QA engineer.
Step 6: compliance checks
Why:regulatory-penaltydata-corruption
Done when: A reviewer finds, for a sample of reimbursements, the receipt, the business purpose, the approver and any returned advance recorded with dates.
Tool class: test management. Who usually runs it: product manager.
Step 7: unit tests
Why:data-corruption
Done when: Currency conversion, per diem and mileage amounts match a reviewed table for each rate and country the tool supports.
Tool class: unit framework. Who usually runs it: developer.
Step 8: security scanning
Why:data-breach
Done when: The latest scan of the web app, mobile API and receipt storage shows no open finding that exposes receipt images or card numbers.
Tool class: DAST scanner. Who usually runs it: security specialist.
Step 9: data integrity and migration testing
Why:data-corruption
Done when: For a sample of approved expenses, each stored receipt image opens, shows a readable amount and date, and is linked to the same expense line after edits.
Tool class: data validation. Who usually runs it: QA engineer.
Recommended and optional tests
regression suiterecommended
Becomes mandatory when customers configure their own approval chains.
device and browser compatibilityrecommended
Becomes mandatory when receipt capture moves to a new camera or image pipeline.
accessibility testingrecommended
Becomes mandatory when a customer contract or the EU Accessibility Act requires it.
offline and poor-network testingrecommended
Becomes mandatory when lost or duplicate receipts appear in support tickets.
exploratory testingoptional
Sessions around split expenses, mixed personal and business charges and refunds on a corporate card may find states scripted cases miss.
resilience and failure testingoptional
If the card processor is unavailable, card controls may not apply; a test shows how the tool behaves.
Not needed and why
Not needed for risk control: no attached risk depends on comprehension testing. Becomes recommended when report completion rate is a tracked goal.
Not needed: no outage under load is recorded for this type. Becomes recommended when month-end report submission produces a recorded slowdown.
Not needed while every employee submits expenses in one language. Becomes recommended when expense forms or receipts ship in a second language.
Order of work
First release
- release smoke tests: Capture a receipt on a phone, submit the report, approve it as the manager and confirm the reimbursement lands in the payout file.
- end-to-end functional tests: Submit a report with a missing receipt and one with no business purpose, submit a dinner split into two receipts below the approval threshold and a card charge claimed again as out-of-pocket, then offboard a test employee, and confirm no such report reaches payment and every card of the leaver freezes.
- penetration testing: Have an external tester change report IDs to open another team's receipts, raise their own card limit and approve their own report.
- integration tests: Import card transactions and reversals from the issuer processor and confirm each appears once on the cardholder's expense list with the same amount, currency and merchant.
- payment and money-flow testing: Freeze a card, block a merchant category and set a spend limit in the card sandbox, then attempt a purchase against each control.
- compliance checks: Pull a sample of paid reimbursements and check each has a receipt, business purpose, approver and any returned advance recorded with dates.
- unit tests: Check currency conversion, per diem and mileage amounts against a reviewed rate table for each supported country.
- security scanning: Scan the web app, mobile API and receipt storage for any open finding that exposes receipt images or card numbers.
- data integrity and migration testing: Open a sample of stored receipt images after edits to their expense lines and confirm each shows a readable amount and date and is still linked to the same line.
Ongoing cadence
- release smoke tests: On every release build.
- end-to-end functional tests: After each change to approval rules, receipt requirements or the offboarding flow.
- integration tests: When the issuer processor changes its transaction feed or API version.
- payment and money-flow testing: After each change to card controls, spend limits or merchant-category blocks.
- unit tests: After each change to per diem, mileage or exchange rates.
- penetration testing: When a new role, approval permission or customer-company boundary ships.
- data integrity and migration testing: When the receipt capture or image compression pipeline changes.
Tools
Listed alphabetically inside each test type, filtered to the tests above and to the platforms of expense management tool (web, ios, android). Not recommendations.
release smoke tests
- Firebase Test LabRuns app tests on hosted devices. iosandroidfreemium
- TestRailTest case and run management. webiosandroidapicommercial
- XrayTest management inside Jira. webiosandroidapicommercial
end-to-end functional tests
- AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
- ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
- BrowserStackCloud of real devices and browsers. webiosandroidcommercial
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- DetoxGray-box end-to-end testing for React Native apps. iosandroidopen-source
- EspressoAndroid UI testing framework from Google. androidopen-source
- LambdaTestCloud browser and device grid. webiosandroidcommercial
- MaestroMobile UI flows written in YAML. iosandroidfreemium
- PercyVisual review of UI changes. webcommercial
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial
- SeleniumWebDriver-based browser automation. webopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
penetration testing
- Burp SuiteProxy and scanner for web application security testing. webapifreemium
integration tests
- Charles ProxyHTTP proxy for inspecting and throttling traffic. iosandroidwebcommercial
- JestJavaScript test runner with mocking and snapshots. webapiopen-source
- JUnitTest framework for the JVM. apiandroidopen-source
- VitestTest runner for Vite-based JavaScript and TypeScript projects. webapiopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
payment and money-flow testing
- Adyen test environmentTest cards and scenarios for Adyen integrations. webapiiosandroidcommercial
- Stripe test modeTest cards and scenarios for Stripe integrations. webapiiosandroidfreemium
unit tests
security scanning
- Burp SuiteProxy and scanner for web application security testing. webapifreemium
- mitmproxyInteractive HTTPS proxy. iosandroidwebapiopen-source
- MobSFStatic and dynamic analysis for mobile binaries. iosandroidopen-source
- OWASP ZAPDynamic application security scanner. webapiopen-source
- SemgrepStatic analysis with custom rules. apiwebiosandroidfreemium
- SnykDependency and code vulnerability scanning. apiwebiosandroidfreemium
regression suite
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- TestRailTest case and run management. webiosandroidapicommercial
- XrayTest management inside Jira. webiosandroidapicommercial
device and browser compatibility
- AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
- ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
- BrowserStackCloud of real devices and browsers. webiosandroidcommercial
- Firebase Test LabRuns app tests on hosted devices. iosandroidfreemium
- LambdaTestCloud browser and device grid. webiosandroidcommercial
- PercyVisual review of UI changes. webcommercial
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial
- SeleniumWebDriver-based browser automation. webopen-source
accessibility testing
- Accessibility ScannerGoogle's on-device accessibility checker for Android. androidopen-source
- axe-coreAccessibility rules engine for automated checks. webopen-source
- LighthouseAudits for accessibility and performance in Chrome. webopen-source
- Pa11yCommand-line accessibility testing. webopen-source
offline and poor-network testing
- Charles ProxyHTTP proxy for inspecting and throttling traffic. iosandroidwebcommercial
- mitmproxyInteractive HTTPS proxy. iosandroidwebapiopen-source
- Network Link ConditionerApple tool for simulating poor network conditions. iosopen-source
What to send to the person who will test
Send the checklist and the brief below. The printable checklist for expense management tool has the same 9 items with checkboxes.
Download the checklistMarkdownCSVBrief (Markdown)
Acceptance criteria wording
A release of the expense management tool is accepted when a report without a receipt or business purpose cannot be approved for payment and an offboarded employee's cards decline the next purchase. Card transactions from the issuer processor appear once on the cardholder's list with matching amount, currency and merchant, and each stored receipt image opens readable and linked to its expense line. No open scan finding exposes receipt images or card numbers.
Brief
# Test brief: expense management tool Product type: expense management tool. Corporate cards, receipts, approvals and reimbursements. Risk map and evidence: https://howtotestaproduct.com/how-to-test/expense-management/ Printable checklist: https://howtotestaproduct.com/checklists/expense-management/ Run these 9 mandatory tests in this order. A test is done only when its done condition is true on the build you will release. 1. release smoke tests (risks: money-loss). Tool class: mobile automation. Usually run by: QA engineer. Done when: After each release, a test employee captures a receipt, submits a report, a manager approves it and the reimbursement appears in the payout file. 2. end-to-end functional tests (risks: regulatory-penalty, money-loss, fraud-abuse). Tool class: browser automation. Usually run by: QA engineer. Done when: A report with a missing receipt or business purpose cannot be approved for payment, and an employee leaving the company has every card frozen on the offboarding date, and a dinner split into two receipts below the approval threshold, or a card charge claimed again as out-of-pocket, is flagged before payment. 3. penetration testing (risks: data-breach, money-loss, fraud-abuse). Tool class: proxy. Usually run by: external lab. Done when: An external tester cannot open another team's receipts by changing an ID, and cannot raise their own card limit or approve their own report. 4. integration tests (risks: money-loss, data-corruption). Tool class: API client. Usually run by: developer. Done when: A card transaction from the issuer processor appears once on the cardholder's expense list with the same amount, currency and merchant, and a reversal removes it. 5. payment and money-flow testing (risks: money-loss). Tool class: API client. Usually run by: QA engineer. Done when: In the card sandbox, a frozen card declines the next purchase, a merchant-category block declines a blocked purchase, and a spend limit declines the first charge above it. 6. compliance checks (risks: regulatory-penalty, data-corruption). Tool class: test management. Usually run by: product manager. Done when: A reviewer finds, for a sample of reimbursements, the receipt, the business purpose, the approver and any returned advance recorded with dates. 7. unit tests (risks: data-corruption). Tool class: unit framework. Usually run by: developer. Done when: Currency conversion, per diem and mileage amounts match a reviewed table for each rate and country the tool supports. 8. security scanning (risks: data-breach). Tool class: DAST scanner. Usually run by: security specialist. Done when: The latest scan of the web app, mobile API and receipt storage shows no open finding that exposes receipt images or card numbers. 9. data integrity and migration testing (risks: data-corruption). Tool class: data validation. Usually run by: QA engineer. Done when: For a sample of approved expenses, each stored receipt image opens, shows a readable amount and date, and is linked to the same expense line after edits. Acceptance criteria wording: A release of the expense management tool is accepted when a report without a receipt or business purpose cannot be approved for payment and an offboarded employee's cards decline the next purchase. Card transactions from the issuer processor appear once on the cardholder's list with matching amount, currency and merchant, and each stored receipt image opens readable and linked to its expense line. No open scan finding exposes receipt images or card numbers. Report back for each test: pass or fail against its done condition, the build or version tested, and the proof (screenshot, log line or report file). Licence: CC BY 4.0.
For founders: what to forward and what to ask back. For product managers: turning this page into tickets.
Questions about testing an expense management tool
What testing does an expense management tool need?
9 mandatory tests cover the 5 risks in the map: cards that stay live after offboarding, receipts opened across departments, reimbursements that fail accountable plan rules, unreadable or detached receipts, and split or duplicate claims. They run as release smoke, end-to-end, penetration, integration, card sandbox, compliance, unit, security scanning and receipt integrity tests. Regression, compatibility, accessibility and offline tests are recommended until their conditions apply.
What should I send to the person who will test an expense management tool?
Send the 9 mandatory tests with their done conditions, access to the card sandbox and a sample of the issuer processor transaction feed. Include the approval rules, receipt requirements and offboarding steps the end-to-end test checks, and the per diem, mileage and exchange rate table the unit tests compare against.
Which tests in a vendor test plan for an expense management tool are not needed?
Usability, performance and localization tests are marked not needed. No attached risk depends on comprehension testing, no outage under load is recorded for this type, and every employee submits expenses in one language. Localization becomes recommended when expense forms or receipts ship in a second language.
Does an expense management tool need PCI DSS testing?
The risk map cites the PCI DSS document library as evidence for the card and receipt exposure risks, because receipt images can show card numbers. The mandatory security scan covers the web app, mobile API and receipt storage for any finding that exposes card numbers. The penetration test checks that a user cannot open another team's receipts or raise their own card limit.
When is test automation worth it for an expense management tool?
The release smoke run repeats on every release, and the unit tests for conversion, per diem and mileage repeat after every rate change, so both are repeated often enough to automate. The regression suite becomes mandatory when customers configure their own approval chains, since approval rules from past defects must block the same reports on each release candidate.
Evidence
ev-0084vendor-docsecondary
Occupational Fraud 2026: A Report to the Nations, Association of Certified Fraud Examiners
Expense reimbursements scheme: A fraudulent disbursement scheme in which an employee makes a claim for reimbursement of fictitious or inflated business expenses
Supports fraud-abuse for an expense management tool and accounting SaaS: the survey-based industry report with stated method tracks expense reimbursement schemes, which its Fraud Tree splits into mischaracterized, overstated, fictitious and multiple reimbursements, and billing schemes (fictitious or inflated invoices paid through payables) as recurring occupational fraud types.
published undated · verified 2026-10-07
ev-0083regulatorprimary
§ 1026.12 Special credit card provisions., Consumer Financial Protection Bureau
General requirement for money-loss on an expense management tool that issues corporate cards: the consumer cap on unauthorized-use liability can be contracted away for employee card programs, so spend on a lost or misused employee card can fall on the company.
published undated · verified 2026-10-07
ev-0082regulatorprimary
Publication 463 (2025), Travel, Gift, and Car Expenses, Internal Revenue Service
Supports regulatory-penalty for an expense management tool: reimbursements count as an accountable plan only with adequate accounting, documentary evidence such as receipts and return of excess advances; otherwise the employer reports them as wages.
published undated · verified 2026-10-07
ev-0010standardprimary
PCI DSS document library, PCI Security Standards Council
PCI DSS sets security requirements, including vulnerability scanning and penetration testing, for any system that stores, processes or transmits cardholder data.
published undated · verified 2026-10-07
ev-0012standardprimary
OWASP API Security Top 10 2023, OWASP Foundation
The API Security Top 10 names API-specific failures such as broken object level authorization and unrestricted resource consumption.
published undated · verified 2026-10-07
ev-0044regulatorprimary
Rev. Proc. 97-22: Books and records; electronic storage; imaging (Internal Revenue Bulletin 1997-13), Internal Revenue Service
All books and records reproduced by the electronic storage system must exhibit a high degree of legibility and readability when displayed on a video display terminal and when reproduced in hardcopy.
Supports data-corruption for accounting SaaS and expense management: taxpayers who keep books, invoices or receipt images in an electronic system need controls against alteration or deletion and legible reproductions, which both product types hold for their customers.
published 1997-03-31 · verified 2026-10-07
Disclaimer
This page lists tests and risks for a product category, not for your product. Risks are attached only with the evidence shown in the Evidence section. Tools are listed alphabetically and are not recommendations. Nothing here is legal, regulatory or security advice; where a regulator or a store sets a requirement, their page is linked and takes precedence.