The API Is Not Enough for Finance Automation
Level data-layer playbook
Use an export, report or approved browser workflow when the API cannot provide a required field, historical period or reporting category
Sam Yang, Level
Choose a route for one missing fact
For recurring booked entities with stable identifiers, a supported API is often the best starting point. For an exact native report definition, UI-only pending state or emailed export, another authorized source may be needed. Document the implemented connector gap rather than claim that the whole vendor lacks an API. Shopify, for example, exposes payout objects subject to permissions.
A rate limit calls for bounded retry, queued work, incremental refresh and caching where appropriate. Switching to a browser does not make the missing object appear or remove permissions. If a native report is chosen, verify the actual period and complete population. If a permitted replica is chosen, inspect entity, freshness and financial joins. Route choice and accounting acceptance remain separate decisions.
Name the missing fact, then choose the route
| Missing answer | Test before adding browser collection | Suitable next route if the test fails |
|---|---|---|
| Which posted transaction exists? | Authorized API object, retained ID, complete paging and current version | Correct the API query or permission; a screenshot does not repair a missing identifier |
| What is pending in the QBO bank-review queue? | Whether the implemented connector actually includes that pending state | Controlled native review with account and candidate identity retained |
| Which jobs have defensible costs? | Whether invoice, time, payroll and material populations join at the same job grain | Collect the specific missing cost report or relationship, rather than another revenue export |
| What does the native report mean? | Report basis, dates, statuses and dimensions versus the connector projection | Native export with its definition preserved, followed by a comparison to eligible records |
| How much cash can fund inventory? | Bank availability, settlement timing and nonoverlapping obligations | A dated cash-and-obligations bridge; an attribution dashboard answers a different question |
These are method choices, not universal product-access claims. A browser helps when it exposes the required authorized native state. It loses when unstable rendering, incomplete rows or ambiguous account selection make that state unverifiable. An API wins for a supported, reproducible population; it still loses if the selected population is wrong for the financial question. The named software playbooks keep those choices specific to each source.
Financial evidence in practice
When should finance automation augment an API?
Augment an API when a required authorized fact is missing from its actual eligible object scope, history or report dimensions. Throttling usually calls for queues, retry and caching first. Browser access cannot restore history the source never retained.
Run the check
- Specify the financial fact and eligible object.
- Check plan, permissions, history, pagination and limits.
- Choose a native report, inbox delivery or permitted browser only for the verified gap.
- Reconcile the collected population before accepting the answer.
Fictional example: Complete job and export population
Four exported rows contain three of five expected jobs: 60% identity coverage. One retained job has no cost. Full-scope profit is withheld.
Invented teaching inputs; downloadable files store these dollar amounts in USD cents.
Inspect the expected output
{
"fictional": true,
"unit": "USD cents",
"id": "complete-export",
"rawRows": 4,
"distinctRows": 3,
"coveragePct": 60,
"missing": [
"D",
"E"
],
"costMissing": [
"B"
],
"completeProfitCents": null,
"limitation": "This is teaching arithmetic from supplied invented inputs, not source authenticity, financial assurance or authority to post."
}Reproduce this calculation
Download the code and input into one folder, then run:
node reproduce.mjs complete-export.input.jsonThe code checks declared units and identities and refuses unsupported inputs. No browser or customer account is used. Source authenticity and accounting approval require separate evidence.
Reviewed 2026-10-06. Level financial-control guidance, with visibly fictional teaching examples. The example shows a control boundary, not a measured customer outcome or industry benchmark.
Read this content revision history
Continue with the related financial decision →Free benchmark review
See whether your books are benchmark-ready.
Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.
Apply the controls to the chosen browser route
Open the related financial check when the next question concerns that workflow. The Financial Systems Field Guide holds the named-system collection notes, pitfalls and bounded prompts.
Sources and method
Field Guide. This guide shows how to check whether the numbers are ready to use. The examples use made-up numbers, clearly labeled and available to download. They do not include private customer documents or measured customer results. Before using the method, check that your account has the required access and that your reports count the same things.
Get the next one
Want next week's benchmark in your inbox?
One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.
Related reads
Operations
Why Your Field Software Numbers Don't Match Your Accounting
Reconcile field hours, invoices, recognized revenue, and job costs. Billing capture: 97.1% median, 66.9% bottom decile (963 companies).
Operations
The AI Inbox: Emailed Reports as Finance Pipelines
Asking for a report by email does not mean you have received and saved it. Track delivery, original attachment, parsing and review separately, preserving changed versions.
Operations
AI Browser Exports: Verify the Account and Rows
Verify the selected company, period and complete report before exporting. Retain the actual downloaded file, filters, counts and collection versions.

About the author
Sam Yang
Founder & CEO
Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.
LinkedIn