Skip to main content

DAN AI — Supported Document Types

DAN AI ships 21 tuned document types organized into 6 categories. The type you pick drives which prompt is sent to the AI provider, so matching the right type significantly improves extraction accuracy.

If you pass an unknown type or omit it entirely, DAN AI falls back to general — a universal prompt that returns whatever structured key/value pairs it can recognize.

Finance

TypeWhat it's tuned forHas line items?
invoiceVendor invoices: vendor & buyer, invoice number, dates, currency, line items, subtotal/tax/total.Yes
receiptPrinted retail / restaurant receipts: merchant, date, item lines, tax, payment method.Yes
purchase_orderBuyer-issued POs: PO number, supplier, ship-to, item lines, terms.Yes
expenseReimbursable expenses: claimant, category, date, amount, currency, project code.No
bank_statementMulti-page bank statements: account holder, period, opening/closing balance, transaction rows.Yes
payslipEmployee payslips: employee, pay period, gross/net pay, deductions, employer details.Yes
tax_formTax filings & related forms: jurisdiction, form number, taxpayer, totals.Sometimes
quoteSales quotes / estimates: quoter, quote number, validity, item lines, totals.Yes
TypeWhat it's tuned forHas line items?
contractMulti-party contracts: parties, effective date, term, renewal, payment terms, governing law.No
ndaNon-disclosure agreements: parties, effective date, scope, duration, exceptions.No
insurance_policyInsurance policies: policyholder, insurer, policy number, coverage limits, premium.No
certificateCertificates of various kinds: issuer, holder, certificate number, issue & expiry dates.No

Logistics

TypeWhat it's tuned forHas line items?
delivery_noteShipping / delivery notes: sender, recipient, tracking number, item lines.Yes
shipping_labelCarrier labels: carrier, service, tracking number, weight, dimensions, addresses.No

People & ID

TypeWhat it's tuned forHas line items?
resumeCandidate resumes: contact info, education, experience, skills, certifications.No (uses arrays)
id_cardGovernment IDs (passport, driver's licence, national ID): name, DOB, ID number, expiry.No

Health

TypeWhat it's tuned forHas line items?
medical_reportDiagnostic lab reports: patient, test date, panel name, lab rows with reference intervals.Yes
prescriptionPrescriptions: prescriber, patient, drug list with dosage, refills, date.Yes

General

TypeWhat it's tuned forHas line items?
generalUniversal prompt — best when nothing else fits. Output schema varies by document content.Sometimes
letterBusiness / personal letters: sender, recipient, date, subject, body summary.No
memoInternal memos: from, to, date, subject, body summary.No

Choosing the right type

A few rules of thumb:

  • Always prefer a specific type over general. Even if you have to spread mixed documents across multiple types, you'll get better accuracy than throwing everything into the universal prompt.
  • Use general for unknown shapes. It's also a useful diagnostic — when a specific type returns poor results, switching to general for one extraction reveals what the AI actually "sees" in the file.
  • Receipts vs invoices — pick receipt for short printed thermal receipts and invoice for any A4-style document with a "Total Due" block, even if the seller calls it a receipt.
  • Bank statements — multi-page statements work, but very long statements (50+ pages) may be truncated. If you can split them up by month before uploading, you'll get cleaner output.

Adding a custom prompt for a type

If your documents have a non-standard layout (e.g. invoices from a vendor that buries the total in the footer), you can override the built-in prompt for that document type. See Custom Fields and Templates.

Using the type through each ingestion path

The doc_type value works the same everywhere it appears:

  • Dashboard upload — picked from the type dropdown in the upload modal.
  • Inbox sync — set per ruleset under Inboxes → Manage Rules. Apply different types to different senders.
  • REST API — passed as the doc_type field in the multipart request. See REST API.