Expense
An Expense is a transaction or a purchased item that Sail classifies for Section 213(d) eligibility. This is the full field reference; see Get Expense or List Expenses to retrieve one.
id(string)connection_id(string): the connection this expense was sourced from.external_transaction_id(string, nullable): echo of the customer-supplied id for expenses ingested through anexternalconnection, null for Sail-sourced expenses. Join key back to the customer’s own transaction store.name(string)description(string)date(string)amount(number): USD.source_type(enum): how this expense entered Sail, pairs with thesource_typelist filter. Possible values:card,store,receipt_upload,external.origin(object): what the expense was derived from.type(enum):transaction, derived from a bank or credit card transaction (one expense per transaction, split viaparent_expense_idafter itemization).product, derived from an individual product line (store order data or an itemized receipt). Possible values:transaction,product.detail(string, nullable): the raw descriptor (transactions) or product title (products) the expense was derived from.
merchant(object): the merchant this expense was incurred at, as resolved by enrichment.supported_merchant_idreferences the merchants directory only when the merchant is one Sail can connect to for store data, it’s null for the long tail of merchants that are recognized but not scrape-supported.name(string). Example:Costco.logo_url(string, nullable)supported_merchant_id(string, nullable). Example:mer_costco.
enrichment(object): general transaction enrichment, independent of Section 213(d) classification.category(string, nullable): general spend category. Example:Pharmacies.subcategory(string, nullable). Example:Drug Stores.mcc(string, nullable): merchant category code, when derived from a card transaction or supplied at ingest.
parent_expense_id(string, nullable): links an item-level expense back to the transaction-level expense it enriched, whether that item-level data came from a store connection or from an itemized receipt. Null for top-level expenses.section_213d_classification(object): Section 213(d) eligibility classification. The review states pair withorigin.type,lmn_requiredapplies to product-origin expenses (a dual-purpose item that becomes eligible with a Letter of Medical Necessity),itemization_requiredapplies to transaction-origin expenses (a mixed basket that needs an itemized receipt before line items can be classified).status(enum). Possible values:eligible,lmn_required,itemization_required,ineligible.category(string, nullable): Section 213(d) category. Example:Health Monitoring Devices.reasoning(string, nullable)
created_at(timestamp)updated_at(timestamp)
API Reference › Objects and events