File Attachments
Attach documents to transactions, assets, and entities with AI-powered content extraction and searchable metadata
Overview#
Artifi's attachment system lets you attach files -- invoices, receipts, contracts, photos -- to any entity type through natural conversations with Claude. The system combines AI-powered content extraction with frictionless file uploads, making all document content immediately searchable.
Key Features#
- AI-First: Claude analyzes documents and extracts text, amounts, dates, and metadata automatically
- Universal: The same attachment pattern works across bills, invoices, assets, expenses, journals, and more
- Two-Path Upload: Metadata is captured immediately; the original file can be uploaded asynchronously via a simple link
- Searchable: Full-text search across all extracted content and metadata
How It Works#
The attachment flow is designed around immediate value and minimal friction:
User uploads a file to Claude
|
Claude analyzes the document (vision/OCR)
|
Claude creates the transaction + attachment with extracted metadata
|
Claude generates a temporary upload link for the original file
|
User clicks the link and uploads (no login required)
|
Original file stored securely; attachment record updated
Why This Pattern?#
- Immediate value -- Claude extracts all content right away, making it searchable before the original file is even uploaded
- No friction -- The upload link requires no login; just click and drop
- Async upload -- Users can upload the original file at their convenience
- Complete audit trail -- Both the extracted content and the original file are preserved
Supported Entity Types#
| Entity Type | Use Cases |
|---|---|
| AP Transactions | Vendor bills, credit notes, payment confirmations |
| AR Transactions | Customer invoices, receipts, payment records |
| GL Transactions | Journal vouchers, supporting documentation |
| Fixed Assets | Purchase documents, disposal records, photos |
| Expenses | Receipts, travel documentation |
| Contracts | Signed contracts, amendments |
| Master Data | ID documents, certifications, vendor/customer records |
Attachment Types#
| Type | Examples |
|---|---|
| Invoice | Vendor bills, customer invoices |
| Receipt | Credit card receipts, register tapes |
| Contract | Service agreements, leases |
| Purchase Order | Vendor purchase orders |
| Statement | Bank statements, account statements |
| Supporting Document | Approvals, correspondence |
| Photo | Asset photos, damage documentation |
Attachment Operations#
Create Attachment#
Create an attachment record linked to any entity. Claude typically handles this automatically when processing a document, capturing:
- Entity type and ID (what the attachment is linked to)
- File name and content type
- Extracted text (from OCR or document analysis)
- Extracted amounts (totals, tax, subtotals)
- Extracted metadata (vendor name, invoice number, dates)
- Attachment type and descriptive tags
Generate Upload Link#
After creating the attachment record, a temporary upload link is generated:
- Time-limited (default 15 minutes, maximum 60 minutes)
- Single-use (deleted after successful upload)
- Bound to the specific attachment record
- No authentication required -- just click and upload
Confirm Upload#
After the file is uploaded, the attachment record is updated with:
- File size and content hash (SHA256 verification)
- Storage location
- Confirmation status
Delete Attachment#
Attachments can be soft-deleted, with an option to also remove the file from storage.
Upload Link Security#
Upload links are designed to be secure while remaining frictionless:
- Token-based access -- Links use cryptographically secure tokens (32 bytes)
- Time-limited -- Tokens expire after a configurable period (default 15 minutes)
- Single-use -- Each token is deleted after a successful upload
- Entity-bound -- Tokens are tied to a specific attachment record
Searchable Content#
All content extracted by Claude is searchable across your organization:
| Field | Description |
|---|---|
| Extracted text | Full text from the document (via OCR or document analysis) |
| Extracted amounts | Monetary amounts (total, subtotal, tax, currency) |
| Extracted metadata | Vendor name, invoice number, dates, and other structured data |
| Tags | User-defined tags for custom filtering |
This means you can search for an invoice by vendor name, amount, date, or any text that appeared in the document -- without needing to open or download the original file.
Example: Complete Invoice Flow#
User uploads invoice.pdf to Claude
Claude responds:
I've analyzed the invoice from Acme Corporation:
- Invoice #: INV-2025-001
- Amount: $5,432.10
- Due Date: February 14, 2025
I've created AP invoice #AP-0123 and captured all the details.
To attach the original PDF, click here: [Upload Link] (expires in 15 minutes, no login required)
User clicks the link and uploads the file.
Result:
- All invoice content is searchable immediately
- The original PDF is preserved in secure storage
- A complete audit trail is maintained
Storage#
Files are stored in Cloudflare R2, organized by organization, entity, and entity type. Storage costs are minimal:
| Resource | Price |
|---|---|
| Storage | $0.015/GB/month |
| Uploads | $4.50/million operations |
| Downloads | $0.36/million operations |
| Egress | Free |
A typical small business can expect approximately $0.22/month in attachment storage costs.
Best Practices#
- Always extract content -- Let Claude analyze every document for text, amounts, dates, and metadata before attaching
- Create the attachment record first -- Capture extracted content immediately, then generate the upload link
- Provide the upload link -- Always give users the option to attach the original file
- Use descriptive tags -- Tags make it easier to filter and find attachments later
- Include clear instructions -- Let users know the link expires and no login is required
Subscribe to new posts
Get notified when we publish new insights on AI-native finance.