OVERALL CONTROL / 0.6-customer-control
Grades and scoring
Data access
25% of the overall score before applicability adjustment.
Scored answers and evidence
Read interface 2.5/10
Report outputs only
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
The assessed route generates report outputs rather than an arbitrary object-read interface.
Integration Server Report Exporter and Downloader ↗
Export > Report Exporter · Checked 2026-10-16
Bulk delivery 8.8/10
Batched or iterable API requests
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Batched report IDs or bounded dates generate downloadable structured report files.
Integration Server Report Exporter and Downloader ↗
Report Exporter > inputSettings.filters; Downloader · Checked 2026-10-16
Query expressiveness 8.8/10
Documented structured API filters
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Filter report IDs, policy IDs, report state, approval date and created/submitted dates.
Integration Server Report Exporter and Downloader ↗
Report Exporter > inputSettings; inputSettings.filters · Checked 2026-10-16
Access cost barrier -
-
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
The lowest eligible paid plan and route-specific fixed API charges have not been established.
Integration Server authentication ↗
Authentication; Credential based authentication; OAuth2 partner authentication · Checked 2026-10-16
Third-party accessibility
20% of the overall score before applicability adjustment.
Scored answers and evidence
Third-party eligibility 5.0/10
Separate provider consent or partner agreement required
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Multi-user partner OAuth is a private beta requiring an access request; single-account credentials are a separate path.
Integration Server authentication ↗
OAuth2 partner authentication · Checked 2026-10-16
Downstream permission -
-
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Applicable third-party processing, redistribution and AI-use permissions have not been established by the reviewed technical documentation.
Integration Server authentication ↗
Authentication; Credential based authentication; OAuth2 partner authentication · Checked 2026-10-16
External action
15% of the overall score before applicability adjustment.
Scored answers and evidence
Write interface 2.5/10
Named operations in a limited domain
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
A named marking action changes report export labels; generic create/update is not inferred.
Integration Server Report Exporter and Downloader ↗
Report Exporter > onFinish > markAsExported · Checked 2026-10-16
Custom application path 10.0/10
Customer applications using fixed APIs without provider selection
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Single-account Integration Server is a self-service custom integration path; multi-user OAuth has separate gates.
Integration Server authentication ↗
Introduction; Credential based authentication · Checked 2026-10-16
Continuity
15% of the overall score before applicability adjustment.
Scored answers and evidence
Refresh mechanism -
-
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
A supported changed-since filter, recurring extraction schedule or webhook feed has not been established.
Integration Server authentication ↗
Authentication; Credential based authentication; OAuth2 partner authentication · Checked 2026-10-16
Limit visibility 7.5/10
Numeric usage or polling guidance
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
The reference publishes five requests per ten seconds and twenty per minute with 429 errors; complete reset instructions are not established.
Integration Server authentication ↗
Rate limits · Checked 2026-10-16
CDC and deletion capture 2.5/10
Full snapshots permit customer reconciliation; native deltas unverified
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Repeat selected report/time/state exports for reconciliation; universal modified/deleted identities are unestablished.
Integration Server Report Exporter and Downloader ↗
Report Exporter > inputSettings.filters · Checked 2026-10-16
Replay and gap recovery 2.5/10
Rebuild from a fresh snapshot; no historical replay established
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Recreate a selected structured report scope with bounded date batches and no exclusionary export-label filter. This rebuilds current selected output, not intermediate versions or deleted payloads.
Integration Server Report Exporter and Downloader ↗
Report Exporter > inputSettings.filters; Downloader · Checked 2026-10-16
Data exit
20% of the overall score before applicability adjustment.
Scored answers and evidence
Export custody 10.0/10
Original objects or portable records delivered to a customer-selected destination
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Generated structured report files can be uploaded to the customer-selected SFTP server.
Integration Server Report Exporter and Downloader ↗
Report Exporter > onFinish > sftpUpload; Downloader · Checked 2026-10-16
Post-cancellation access Disclosure
-
Disclosure only; does not reduce planned-exit credit.
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
A customer cancellation retrieval window and any exit charges have not been established.
Integration Server authentication ↗
Authentication; Credential based authentication; OAuth2 partner authentication · Checked 2026-10-16
Planned migration fidelity 5.0/10
Selected report fields in structured files; broader scope unverified
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Template-selected fields are portable; original/modified values differ, and receipt URLs alone do not establish byte completeness.
Export template format ↗
Report parameters; Expense parameters; How to use templates · Checked 2026-10-16
Business logic and customization
5% of the overall score before applicability adjustment.
Scored answers and evidence
Logic authoring 2.5/10
External integration code; native business logic portability not established
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Customer FreeMarker transforms format external export data; native approval/workflow portability is not established.
Export template format ↗
How to use templates; Note on large exports · Checked 2026-10-16
Rights to custom logic -
-
Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route.
Ownership, reusable export and independent execution of native workflow definitions remain unresolved.
Integration Server authentication ↗
Authentication; Credential based authentication; OAuth2 partner authentication · Checked 2026-10-16
Scores are out of 10. * Incomplete evidence discounts verified capabilities (unknown answers stay unknown). Planned migration drives data exit. Scoring method ↗
CUSTOMER CHOICE
Third-party accessibility
Customers generate partnerUserID and partnerUserSecret credentials for a single-account integration. Multi-user OAuth partner authentication is currently a private beta; those partner credentials and approval conditions must not be inferred from self-service credential generation.
Confirm who can connect, who owns the credentials and which uses are permitted. Customer consent and provider approval can be separate requirements; the selected plan and contract still matter.
READ / INTEGRATE
API and export routes
Report Exporter accepts known report IDs or date selections up to one year per request, report-state and policy filters, and structured CSV/JSON/XML output. A FreeMarker template selects fields; the Downloader job or optional SFTP delivery retrieves the generated file.
| Access route | Authentication | Credential owner | Provider approval | Access requirement | Last checked |
|---|---|---|---|---|---|
| Expensify customer API | hybrid | Customer | Not confirmed | self service | 2026-10-16 |
| Expensify multi-user OAuth beta | OAuth 2.0 | Integration provider | Yes | App review | 2026-10-16 |
Availability depends on your product, plan and agreement. See the documentation below for the requirements of each route.
ECONOMIC ACCESS
Cost, authentication and limits
The lowest eligible customer plan and any fixed API, partner or setup charges remain unestablished. Payment-processing charges do not by themselves establish an API-access surcharge.
Check API entitlement, credential ownership and rate limits for the route you intend to use. Include review fees, customer-plan upgrades and ongoing access charges in the total.
ACT FROM OUTSIDE
External action
The optional onFinish markAsExported action marks returned reports with a label, affecting subsequent markedAsExported filtering. It is a limited report-state mutation; read jobs must not enable it accidentally, and broad report create/update is not inferred.
Validate the supported operation, acting identity and permission scope (read access does not imply write permission). Ambiguous retries and revoked credentials also affect whether an external workflow can run safely.
KEEP ACCESS USEFUL
Continuity
Repeat overlapping selected report windows and reconcile known report IDs for later changes. Created/submitted-date and approvedAfter selection do not establish a universal modification watermark; export labels can suppress already marked records rather than reveal later corrections.
CDC, deletions and recovery
| Question | Answer / applicable route | Evidence |
|---|---|---|
| Can ongoing extraction identify updates and deleted records on the declared route? | Full snapshots permit customer reconciliation; native deltas unverifiedExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Repeat selected report/time/state exports for reconciliation; universal modified/deleted identities are unestablished. | Integration Server Report Exporter and Downloader ↗Report Exporter > inputSettings.filtersChecked 2026-10-16 |
| How can extraction recover after missed events or an interrupted consumer? | Rebuild from a fresh snapshot; no historical replay establishedExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Recreate a selected structured report scope with bounded date batches and no exclusionary export-label filter. This rebuilds current selected output, not intermediate versions or deleted payloads. | Integration Server Report Exporter and Downloader ↗Report Exporter > inputSettings.filters; DownloaderChecked 2026-10-16 |
Useful ongoing access includes corrections and deletions, not only the first export. A failed request, changed filter or lost resource permission should not be interpreted as a deleted record.
LEAVE WITH YOUR DATA
Data exit and portability
Customers can hold structured report files and deliver generated files to their SFTP server. Template selection, receipt handling and source permissions limit fidelity; retaining receipt URLs alone does not establish durable receipt-byte custody or complete account recovery.
Test the output against the destination’s required fields and history. Check stable identifiers, relationships, attachments and extraction time; a sample file proves only the coverage of that sample.
BUILD / INSPECT / REUSE
Business logic and customization
Customers define export formatting and field selection through FreeMarker templates (including choosing modified versus original expense values). This is a documented transformation path, but ownership and reusable export of native approval/workflow artifacts remain unestablished.
Custom API access, ownership of workflows and the right to export their definitions are separate questions. A custom-app capability alone does not establish that business rules can move to another system.
AGREEMENTS / API DOCS / PROGRAM REQUIREMENTS
Documented conditions
Answers below come from public provider materials. Every answer retains its source check date, scope (a partner agreement does not describe every customer route). Customer contracts and live behavior still need verification.
| Question | Answer / applicable route | Evidence |
|---|---|---|
| What structured read interface is documented? | Report outputs onlyExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. The assessed route generates report outputs rather than an arbitrary object-read interface. | Integration Server Report Exporter and Downloader ↗Export > Report ExporterChecked 2026-10-16 |
| How can customers retrieve data in bulk? | Batched or iterable API requestsExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Batched report IDs or bounded dates generate downloadable structured report files. | Integration Server Report Exporter and Downloader ↗Report Exporter > inputSettings.filters; DownloaderChecked 2026-10-16 |
| What queries can a customer issue outside the provider UI? | Documented structured API filtersExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Filter report IDs, policy IDs, report state, approval date and created/submitted dates. | Integration Server Report Exporter and Downloader ↗Report Exporter > inputSettings; inputSettings.filtersChecked 2026-10-16 |
| Who decides whether a chosen third party may connect? | Separate provider consent or partner agreement requiredExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Multi-user partner OAuth is a private beta requiring an access request; single-account credentials are a separate path. | Integration Server authentication ↗OAuth2 partner authenticationChecked 2026-10-16 |
| What extra commercial condition applies to the routes supplying the assessed read capability, relative to the lowest paid plan? | -Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. The lowest eligible paid plan and route-specific fixed API charges have not been established. | Integration Server authentication ↗Authentication; Credential based authentication; OAuth2 partner authenticationChecked 2026-10-16 |
| What permission is needed for the documented downstream use? | -Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Applicable third-party processing, redistribution and AI-use permissions have not been established by the reviewed technical documentation. | Integration Server authentication ↗Authentication; Credential based authentication; OAuth2 partner authenticationChecked 2026-10-16 |
| Which external write operations are documented? | Named operations in a limited domainExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. A named marking action changes report export labels; generic create/update is not inferred. | Integration Server Report Exporter and Downloader ↗Report Exporter > onFinish > markAsExportedChecked 2026-10-16 |
| How can customers connect an application they build or choose? | Customer applications using fixed APIs without provider selectionExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Single-account Integration Server is a self-service custom integration path; multi-user OAuth has separate gates. | Integration Server authentication ↗Introduction; Credential based authenticationChecked 2026-10-16 |
| What mechanism supports repeatable extraction of changes? | -Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. A supported changed-since filter, recurring extraction schedule or webhook feed has not been established. | Integration Server authentication ↗Authentication; Credential based authentication; OAuth2 partner authenticationChecked 2026-10-16 |
| How are integration limits disclosed? | Numeric usage or polling guidanceExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. The reference publishes five requests per ten seconds and twenty per minute with 429 errors; complete reset instructions are not established. | Integration Server authentication ↗Rate limitsChecked 2026-10-16 |
| Where can a usable data copy be delivered? | Original objects or portable records delivered to a customer-selected destinationExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Generated structured report files can be uploaded to the customer-selected SFTP server. | Integration Server Report Exporter and Downloader ↗Report Exporter > onFinish > sftpUpload; DownloaderChecked 2026-10-16 |
| What retrieval rights are documented at cancellation? | -Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. A customer cancellation retrieval window and any exit charges have not been established. | Integration Server authentication ↗Authentication; Credential based authentication; OAuth2 partner authenticationChecked 2026-10-16 |
| How can customers define their own business logic? | External integration code; native business logic portability not establishedExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Customer FreeMarker transforms format external export data; native approval/workflow portability is not established. | Export template format ↗How to use templates; Note on large exportsChecked 2026-10-16 |
| What rights or portability are documented for custom workflow artifacts? | -Expensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Ownership, reusable export and independent execution of native workflow definitions remain unresolved. | Integration Server authentication ↗Authentication; Credential based authentication; OAuth2 partner authenticationChecked 2026-10-16 |
| What usable data or native definitions can leave before cancellation? | Selected report fields in structured files; broader scope unverifiedExpensify Integration Server expense/report export jobs, configurable FreeMarker output and optional markAsExported action; multi-user partner OAuth is a separate beta route. Template-selected fields are portable; original/modified values differ, and receipt URLs alone do not establish byte completeness. | Export template format ↗Report parameters; Expense parameters; How to use templatesChecked 2026-10-16 |
SOURCES / SCOPE / HISTORY
Sources and open questions
This review is based on the documentation below. Live account behavior and customer-specific agreements haven’t been tested.
Still to confirm
- The lowest eligible paid plan and route-specific fixed API charges have not been established.
- Applicable third-party processing, redistribution and AI-use permissions have not been established by the reviewed technical documentation.
- A supported changed-since filter, recurring extraction schedule or webhook feed has not been established.
- A customer cancellation retrieval window and any exit charges have not been established.
- Ownership, reusable export and independent execution of native workflow definitions remain unresolved.
Documentation
Assessment checked 2026-10-16. Each answer retains its source and applicable route; the check date does not establish live account behavior.