Transactions
This article is currently under review. Some content may be incomplete or inaccurate.
Transactions represent a batch of documents uploaded for processing. They are the primary unit of work in DocAI Fabric.
Transaction Lifecycle
Created → Processing → Completed / Failed
- Created: Transaction is created, documents can be uploaded
- Processing: Workflow engine is running activities on the documents
- Completed: All activities finished successfully
- Failed: One or more activities encountered errors
Creating a Transaction
Via the UI
- Open a project
- Click New Transaction
- Upload files using drag-and-drop or the file picker
- (Optional) If a single file is selected, enable Limit Pages and set the number of pages to process
- Click Process to start the workflow
The same dialog offers two alternatives to uploading from your computer. Capture with phone shows a QR code that opens the camera on your phone and sends the photos straight into a new transaction. Copy from another dataset brings transactions that already exist elsewhere in the project (Playground, Work Queue, Memory, or an evaluation dataset) into the one you are working in. Copying is available on Playground, Memory, and Evaluation.
If your project calls its transactions something else, set Item name in project settings. The button then reads New Invoice, New Port Call, and so on, throughout the app.
When uploading a single file, you can choose to process only the first N pages. The full file is always stored; only the conversion step is limited. This is useful for previewing large documents or testing workflow settings.
Via the API
# Create a transaction
curl -X POST "https://app.docaifabric.com/api/v1/projects/{project_id}/transactions" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: multipart/form-data" \
-F "files=@invoice.pdf"
Transaction Contents
Each transaction contains:
| Component | Description |
|---|---|
| Documents | Individual documents detected after splitting |
| Pages | Individual pages with OCR text and images |
| Workflow State | Current processing status per activity |
| Source Files | Original uploaded files |
Viewing Results
In the transaction detail view, you can:
- Browse documents: See all documents detected in the upload
- View extractions: See extracted field values with confidence scores
- Inspect pages: View page images with bounding boxes around extracted data
- Check classification: See how each document was classified
- Review & correct: Manually fix any extraction errors
Transaction States
| State | Icon | Description |
|---|---|---|
pending | ⏳ | Waiting to be processed |
processing | 🔄 | Currently being processed |
completed | ✅ | All activities completed successfully |
failed | ❌ | Processing encountered errors |
cancelled | 🚫 | Processing was manually cancelled |
Bulk Operations
You can process multiple transactions at once:
- Select transactions in the project view
- Use the bulk action menu to:
- Process selected transactions
- Reprocess failed transactions
- Delete selected transactions
Copying selected transactions to another dataset
The same toolbar can copy the selected transactions into another dataset, so you can take real work and reuse it in design time. Every page offers the destinations it is not itself: Add to Playground (a sandbox copy you can re-run freely), Add to Memory (teach the system from these transactions), and Add to Evaluation (use them as reference data for accuracy testing).
Copying from My Work Queue into Playground or Evaluation requires permission to copy production work into design time, and Add to Memory appears only for users the system is allowed to learn from. When you add work-queue transactions to Memory, they become part of your live production memory right away, not a draft waiting to be published.
The toolbar keeps each page's own actions first (Assign and Priority on My Work Queue, Re-run on Evaluation, Revert on Memory) and groups the copy actions after a divider. On a narrow window the copy actions move into a ... menu so the page's own actions keep their space.