Implementation
See the corresponding how-to article for API usage and step-by-step instructions:Purpose
- Retrieve all Export Job Items associated with a claimed Export Job
- Determine the scope of processing
- Track per-item processing state
- Enable resumable and idempotent workflows
Control Layer vs Data Layer
Export processing is split into two distinct responsibilities:| Layer | Responsibility |
|---|---|
| Control Layer (this step) | Identify items and track status |
| Data Layer | Retrieve full accounting payload |
Retrieving Export Job Items
Use the Get Export Job Items endpoint with thejobId of the claimed Export Job.
- accountingEntryId (unique identifier)
- status (e.g. pending, in_progress, successful, failed)
- export tracking fields (externalId, failureReason, etc.)
Processing Scope
Export Job Items define which entries require processing. At the start of the workflow:- All items are typically in
pendingstate - The Export Job is
in_progress
Recommended Filtering
Only process items with:- status =
pending - status =
in_progress
Pagination
Export Job Items may be returned across multiple pages. Integrations must retrieve all pages before beginning processing.Example Pagination Response
Example Pseudo
Resumability & Recovery
Export workflows must be resilient to interruptions (e.g. crashes, network failures). If the integration restarts:- The Export Job may already be
in_progress - Some Export Items may already be processed
Recovery Strategy
- Re-fetch all Export Job Items
- Filter for items still requiring processing
- Resume from the last known state
- resumable
- idempotent
- consistent
Deterministic Processing Order
Export Items should be processed in a stable and predictable order. Recommended strategies:- chronological ordering (e.g. oldest transaction date)
- consistent ordering across retries
- reconciliation
- debugging
- auditability
Idempotency Considerations
The integration must ensure that processing is safe to retry. Recommended practices:- Treat
accountingEntryIdas the unique identifier - Avoid reprocessing items that are already completed
- Maintain local tracking if necessary
Expected Outcome
After completing this step:- All Export Job Items have been retrieved
- Processing scope is clearly defined
- Pagination has been resolved
- The workflow is resumable and deterministic
- No accounting data has been processed yet
Upstream Dependencies
- Export Job has been claimed (
status = in_progress) - Integration authentication is configured
Downstream Dependencies
- Fetch Export Item Data (data layer)
- AS/ERP processing workflow
- Export Item & Job status updates
What Comes Next?
Related Reading
- How to Retrieve Export Job Items for Processing
- Export Integration Workflow Guide
- AS/ERP Processing Workflow Guide