Docs/Data & Integration/File Attachments

File Attachments

Attach documents to transactions, assets, and entities with AI-powered content extraction and searchable metadata

7 min read

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?#

  1. Immediate value -- Claude extracts all content right away, making it searchable before the original file is even uploaded
  2. No friction -- The upload link requires no login; just click and drop
  3. Async upload -- Users can upload the original file at their convenience
  4. Complete audit trail -- Both the extracted content and the original file are preserved

Supported Entity Types#

Entity TypeUse Cases
AP TransactionsVendor bills, credit notes, payment confirmations
AR TransactionsCustomer invoices, receipts, payment records
GL TransactionsJournal vouchers, supporting documentation
Fixed AssetsPurchase documents, disposal records, photos
ExpensesReceipts, travel documentation
ContractsSigned contracts, amendments
Master DataID documents, certifications, vendor/customer records

Attachment Types#

TypeExamples
InvoiceVendor bills, customer invoices
ReceiptCredit card receipts, register tapes
ContractService agreements, leases
Purchase OrderVendor purchase orders
StatementBank statements, account statements
Supporting DocumentApprovals, correspondence
PhotoAsset 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

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 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:

FieldDescription
Extracted textFull text from the document (via OCR or document analysis)
Extracted amountsMonetary amounts (total, subtotal, tax, currency)
Extracted metadataVendor name, invoice number, dates, and other structured data
TagsUser-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:

ResourcePrice
Storage$0.015/GB/month
Uploads$4.50/million operations
Downloads$0.36/million operations
EgressFree

A typical small business can expect approximately $0.22/month in attachment storage costs.


Best Practices#

  1. Always extract content -- Let Claude analyze every document for text, amounts, dates, and metadata before attaching
  2. Create the attachment record first -- Capture extracted content immediately, then generate the upload link
  3. Provide the upload link -- Always give users the option to attach the original file
  4. Use descriptive tags -- Tags make it easier to filter and find attachments later
  5. 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.