{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-generic-invoice/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"EDI Invoice File Format Specification"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"edi-invoice-file-format-specification","__idx":0},"children":["EDI Invoice File Format Specification"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Generic EDI Invoice Import supports delimited text files (CSV, TSV, pipe-delimited, etc.) that are interpreted according to a JSON configuration. A full sample configuration can be found at the bottom of this page."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This allows almost any vendor invoice export to be imported without modifying code. The JSON configuration tells the importer:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether the file contains a header row"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Which delimiter is used"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Which columns contain each field"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether columns are identified by ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["index"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["column name"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["How dates are formatted"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether prices require normalization"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["How expense lines are detected"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"processing-rules-and-requirements","__idx":2},"children":["Processing Rules and Requirements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Each row represents one invoice line item."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Multiple rows with the same ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Invoice Identifier"]}," are combined into a single invoice."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Name mapping allows columns to appear in any order."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Index mapping requires columns to exactly match the configured positions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["All required fields must be present for every line item."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Optional fields may be omitted."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Expense detection is evaluated using configured keywords, item identifiers, or explicit expense mappings before the line is imported as inventory."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Any unused optional columns should be omitted from the configuration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["All number columns support up to 8 decimal places"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Bool columns support \"true\", \"false\", 0 and 1"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Returns should be provided with a negative quantity"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Any text field that will include special characters must be wrapped in double quotes and the text fields double quote duplicated to escape it appropriately for the parser"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"InvoiceNumber"},"children":["InvoiceNumber"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"InvoiceDate"},"children":["InvoiceDate"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Item"},"children":["Item"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Quantity"},"children":["Quantity"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Price"},"children":["Price"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Size"},"children":["Size"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"PackSize"},"children":["PackSize"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Store"},"children":["Store"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["10001"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2026-01-01"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ABC123"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["5.00"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Item 1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["CASE"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"12x 1oz\""]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["9875"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["10001"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2026-01-01"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["XYZ200"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["10.50"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Item 2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EA"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["9875"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["10002"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2026-01-02"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AAA500"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2.25"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Item 3"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EA"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["9875"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"delimited-files","__idx":3},"children":["Delimited Files"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The importer supports any standard delimited text format. But this character must not be included in any field unless wrapped in double quotes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Common delimiters include:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Delimiter"},"children":["Delimiter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Configuration Value"},"children":["Configuration Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Comma"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[","]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tab"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\\t"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Pipe"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["|"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Semicolon"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":[";"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ColumnDelimiter\": \",\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"header-rows","__idx":4},"children":["Header Rows"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"file-with-header","__idx":5},"children":["File With Header"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csv","header":{"controls":{"copy":{}}},"source":"InvoiceNumber,InvoiceDate,Item,Quantity,Price,Description\n10001,2026-01-01,ABC123,2,5.00,Item 1\n","lang":"csv"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"HasHeader\": true\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"file-without-header","__idx":6},"children":["File Without Header"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csv","header":{"controls":{"copy":{}}},"source":"10001,2026-01-01,ABC123,2,5.00,Item 1\n","lang":"csv"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"HasHeader\": false\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"column-mapping","__idx":7},"children":["Column Mapping"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The importer supports two mapping methods. Only one is supported at a time."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"name-mapping","__idx":8},"children":["Name Mapping"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the file contains column headers, enable name mapping. The below configuration includes the defaults that should be followed if possible. The right hand"," ","value should be updated to match the column names from your file."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"UseNameMapping\": true\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ColumnNameMapping\": {\n\t  \"InvoiceIdentifier\": \"InvoiceNumber\",\n\t  \"StoreIdentifier\": \"Store\",\n\t  \"AccountIdentifier\": \"Account\",\n\t  \"InvoiceDate\": \"InvoiceDate\",\n\t  \"InvoiceDueDate\": \"InvoiceDueDate\",\n\t  \"PurchaseOrderIdentifier\": \"PurchaseOrderNumber\",\n\t  \"InvoiceTotalAmount\": \"InvoiceTotalAmount\",\n\t  \"ItemQuantity\": \"Quantity\",\n\t  \"ItemPrice\": \"Price\",\n\t  \"ItemSizeIdentifier\": \"Size\",\n\t  \"ItemIdentifier\": \"Item\",\n\t  \"ItemDescription\": \"Description\",\n\t  \"ItemPackSize\": \"PackSize\",\n\t  \"AdditionalInformation\": \"AdditionalInformation\",\n\t  \"IsWeighted\": \"IsWeighted\",\n\t  \"ItemWeightedAmount\": \"ItemWeightedAmount\",\n\t  \"ItemUpc\": \"UPC\",\n\t  \"IsExpense\": \"IsExpense\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["With name mapping, the order of the columns does not matter."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"index-mapping","__idx":9},"children":["Index Mapping"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the file has no header row, map columns by their zero-based position. The right hand"," ","value should be updated to match the column index from your file."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"UseNameMapping\": false\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example file:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csv","header":{"controls":{"copy":{}}},"source":"10001,Store1,2026-01-01,ABC123,Hamburger,2,5.00\n","lang":"csv"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ColumnIndexMapping\": {\n\t  \"InvoiceIdentifier\": 0,\n\t  \"StoreIdentifier\": 1,\n\t  \"AccountIdentifier\": 2,\n\t  \"InvoiceDate\": 3,\n\t  \"InvoiceDueDate\": 4,\n\t  \"PurchaseOrderIdentifier\": 5,\n\t  \"InvoiceTotalAmount\": 6,\n\t  \"ItemQuantity\": 7,\n\t  \"ItemPrice\": 8,\n\t  \"ItemSizeIdentifier\": 9,\n\t  \"ItemIdentifier\": 10,\n\t  \"ItemDescription\": 11,\n\t  \"ItemPackSize\": 12,\n\t  \"AdditionalInformation\": 13,\n\t  \"IsWeighted\": 14,\n\t  \"ItemWeightedAmount\": 15,\n\t  \"ItemUpc\": 16,\n\t  \"IsExpense\": 17\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"required-fields","__idx":10},"children":["Required Fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following fields are required."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Configuration Property"},"children":["Configuration Property"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["InvoiceIdentifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unique invoice number"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemIdentifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vendor item number or SKU"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemDescription"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Product description"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemQuantity"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Quantity purchased"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemPrice"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unit Price for the item or line excluding any tax or fees"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemSizeIdentifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Item size such as each or case"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemPackSize"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Pack size such as \"10 x 4lb rolls\" this helps identify the unique item to the customer"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["StoreIdentifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Store receiving the invoice"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"optional-fields","__idx":11},"children":["Optional Fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following fields may be included if available."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Configuration Property"},"children":["Configuration Property"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AccountIdentifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vendor account number"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["InvoiceDate"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoice date"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["InvoiceDueDate"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Due date"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PurchaseOrderIdentifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Purchase order number"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["InvoiceTotalAmount"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoice total"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AdditionalInformation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Additional notes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemUpc"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UPC barcode"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IsWeighted"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Indicates weighted item"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ItemWeightedAmount"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Weight of item. If IsWeighted is true, this will be used in place of Quantity"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IsExpense"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Explicitly identifies an expense line where the description is used as the expense name and quantity and price are multiplied to the get the total expense amount"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"date-format","__idx":12},"children":["Date Format"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If dates are not in a standard format, specify the expected .NET date format."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"DateFormat\": \"MM/dd/yyyy\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Examples:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"File Value"},"children":["File Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Format"},"children":["Format"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["01/31/2026"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["MM/dd/yyyy"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["31-Jan-2026"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["dd-MMM-yyyy"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2026-01-31"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["yyyy-MM-dd"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"utc-dates","__idx":13},"children":["UTC Dates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If dates should be interpreted as UTC use the below configuration. If not Utc, a timezone id can be configured separately per site that"," ","is used to do the proper conversion for the site."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"IsUtc\": true\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Otherwise:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"IsUtc\": false\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"price-handling","__idx":14},"children":["Price Handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Some invoice exports provide the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["extended line total"]}," rather than the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["unit price"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Quantity"},"children":["Quantity"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"right","data-label":"Price"},"children":["Price"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"right"},"children":["20.00"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Enable automatic calculation of unit price:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"DividePriceByQuantity\": true\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The importer calculates:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"20.00 / 4 = 5.00\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"default-item-size","__idx":15},"children":["Default Item Size"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no size is supplied in the file:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ItemSizeDefault\": \"EA\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every imported item will use:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"EA\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"expense-detection","__idx":16},"children":["Expense Detection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Invoice rows can be imported as expenses instead of inventory items. It is highly recommended to supply a configuration for standard expense data to avoid the need"," ","for configuration for each implimentation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Three methods are supported."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-exact-keyword-matching","__idx":17},"children":["1. Exact Keyword Matching"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ExpenseExactKeywords\": {\n        \"Freight\": \"Freight\",\n        \"Tax\": \"Sales Tax\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the description exactly matches one of the configured keys, the row is treated as an expense and the right hand value is used as the expense name."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Freight\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-contains-keyword-matching","__idx":18},"children":["2. Contains Keyword Matching"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ExpenseContainsKeywords\": {\n        \"fuel\": \"Fuel Surcharge\",\n        \"delivery\": \"Delivery Fee\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the description contains one of the configured keywords, it is imported as an expense and the right hand value is used as the expense name."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Fuel surcharge July\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["contains:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"fuel\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3-item-identifier-matching","__idx":19},"children":["3. Item Identifier Matching"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ExpenseItemIdentifiers\": {\n        \"FRT\": \"Freight\",\n        \"TAX\": \"Sales Tax\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the item identifier matches one of the configured keys, the row is treated as an expense and the right hand value is used as the expense name."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"FRT\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"additional-expense-columns","__idx":20},"children":["Additional Expense Columns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When using index column mapping, additional columns may be used as expense records while the item data is used as a standard line item. The left hand key identifies the index."," ","The value of the column should be a decimal amount."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"index-mapping-1","__idx":21},"children":["Index Mapping"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ExpenseColumns\": {\n        10: \"Department\",\n        11: \"CostCenter\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"name-mapping-1","__idx":22},"children":["Name Mapping"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When using column name mapping."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"ExpenseColumns\": {\n        \"Department\": \"Department\",\n        \"CostCenter\": \"CostCenter\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"complete-csv-example","__idx":23},"children":["Complete CSV Example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csv","header":{"controls":{"copy":{}}},"source":"InvoiceNumber,Store,InvoiceDate,SKU,Description,Quantity,Price,UPC\n10001,001,2026-01-01,ABC123,Hamburger Patty,2,12.50,123456789012\n10001,001,2026-01-01,FRT,Freight,1,15.00,684615654165\n10002,002,2026-01-02,XYZ500,French Fries,5,4.25,999888777666\n","lang":"csv"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-columnmapping-configuration","__idx":24},"children":["Example ColumnMapping Configuration"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"HasHeader\": true,\n    \"UseNameMapping\": true,\n    \"ColumnDelimiter\": \",\",\n    \"DateFormat\": \"yyyy-MM-dd\",\n    \"IsUtc\": true,\n    \"DividePriceByQuantity\": false,\n    \"ItemSizeDefault\": \"EA\",\n    \"ColumnNameMapping\": {\n\t  \"InvoiceIdentifier\": \"InvoiceNumber\",\n\t  \"StoreIdentifier\": \"Store\",\n\t  \"AccountIdentifier\": \"Account\",\n\t  \"InvoiceDate\": \"InvoiceDate\",\n\t  \"InvoiceDueDate\": \"InvoiceDueDate\",\n\t  \"PurchaseOrderIdentifier\": \"PurchaseOrderNumber\",\n\t  \"InvoiceTotalAmount\": \"InvoiceTotalAmount\",\n\t  \"ItemQuantity\": \"Quantity\",\n\t  \"ItemPrice\": \"Price\",\n\t  \"ItemSizeIdentifier\": \"Size\",\n\t  \"ItemIdentifier\": \"Item\",\n\t  \"ItemDescription\": \"Description\",\n\t  \"ItemPackSize\": \"PackSize\",\n\t  \"AdditionalInformation\": \"AdditionalInformation\",\n\t  \"IsWeighted\": \"IsWeighted\",\n\t  \"ItemWeightedAmount\": \"ItemWeightedAmount\",\n\t  \"ItemUpc\": \"UPC\",\n\t  \"IsExpense\": \"IsExpense\",\n    },\n    \"ExpenseItemIdentifiers\": {\n        \"FRT\": \"Freight\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-indexmapping-configuration","__idx":25},"children":["Example IndexMapping Configuration"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"HasHeader\": false,\n    \"UseNameMapping\": false,\n    \"ColumnDelimiter\": \",\",\n    \"IsUtc\": false,\n    \"DividePriceByQuantity\": false,\n    \"ItemSizeDefault\": \"EA\",\n    \"ColumnIndexMapping\": {\n\t  \"InvoiceIdentifier\": 0,\n\t  \"StoreIdentifier\": 1,\n\t  \"AccountIdentifier\": 2,\n\t  \"InvoiceDate\": 3,\n\t  \"InvoiceDueDate\": 4,\n\t  \"PurchaseOrderIdentifier\": 5,\n\t  \"InvoiceTotalAmount\": 6,\n\t  \"ItemQuantity\": 7,\n\t  \"ItemPrice\": 8,\n\t  \"ItemSizeIdentifier\": 9,\n\t  \"ItemIdentifier\": 10,\n\t  \"ItemDescription\": 11,\n\t  \"ItemPackSize\": 12,\n\t  \"AdditionalInformation\": 13,\n\t  \"IsWeighted\": 14,\n\t  \"ItemWeightedAmount\": 15,\n\t  \"ItemUpc\": 16,\n\t  \"IsExpense\": 17\n    },\n    \"ExpenseItemIdentifiers\": {\n        \"FRT\": \"Freight\"\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"full-configuration-example","__idx":26},"children":["Full Configuration Example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"Key\": \"{SUPPLIER NAME}-v1\",\n  \"Name\": \"{SUPPLIER NAME}\",\n  \"Version\": 1,\n  \"InvoiceConfiguration\": {\n    \"IsUtc\": true,\n    \"HasHeader\": true,\n    \"DateFormat\": \"yyyyMMdd\",\n    \"NameMapping\": null,\n    \"IndexMapping\": {\n      \"ItemUpc\": 16,\n      \"IsExpense\": null,\n      \"ItemPrice\": 5,\n      \"IsWeighted\": 14,\n      \"InvoiceDate\": 7,\n      \"ItemPackSize\": 17,\n      \"ItemQuantity\": 4,\n      \"ExpenseColumns\": {\n        \"8\": \"MISC\",\n        \"9\": \"MISC\"\n      },\n      \"InvoiceDueDate\": null,\n      \"ItemIdentifier\": 2,\n      \"ItemDescription\": 3,\n      \"StoreIdentifier\": 1,\n      \"AccountIdentifier\": 1,\n      \"InvoiceIdentifier\": 6,\n      \"InvoiceTotalAmount\": 11,\n      \"ItemSizeIdentifier\": 18,\n      \"ItemWeightedAmount\": 15,\n      \"AdditionalInformation\": null,\n      \"PurchaseOrderIdentifier\": 10\n    },\n    \"UseNameMapping\": false,\n    \"ColumnDelimiter\": \",\",\n    \"ItemSizeDefault\": null,\n    \"ExpenseExactKeywords\": {},\n    \"DividePriceByQuantity\": false,\n    \"ExpenseItemIdentifiers\": {\n      \"FRT\": \"Freight\"\n    },\n    \"ExpenseContainsKeywords\": {}\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"certification","__idx":27},"children":["Certification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The vendor should provide a sample export file as well as a json configuration following the above specifciation. Yellow Dog will validate and certify this export and configuration."]}]},"headings":[{"value":"EDI Invoice File Format Specification","id":"edi-invoice-file-format-specification","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Processing Rules and Requirements","id":"processing-rules-and-requirements","depth":2},{"value":"Delimited Files","id":"delimited-files","depth":2},{"value":"Header Rows","id":"header-rows","depth":2},{"value":"File With Header","id":"file-with-header","depth":3},{"value":"File Without Header","id":"file-without-header","depth":3},{"value":"Column Mapping","id":"column-mapping","depth":2},{"value":"Name Mapping","id":"name-mapping","depth":3},{"value":"Index Mapping","id":"index-mapping","depth":3},{"value":"Required Fields","id":"required-fields","depth":2},{"value":"Optional Fields","id":"optional-fields","depth":2},{"value":"Date Format","id":"date-format","depth":2},{"value":"UTC Dates","id":"utc-dates","depth":2},{"value":"Price Handling","id":"price-handling","depth":2},{"value":"Default Item Size","id":"default-item-size","depth":2},{"value":"Expense Detection","id":"expense-detection","depth":2},{"value":"1. Exact Keyword Matching","id":"1-exact-keyword-matching","depth":3},{"value":"2. Contains Keyword Matching","id":"2-contains-keyword-matching","depth":3},{"value":"3. Item Identifier Matching","id":"3-item-identifier-matching","depth":3},{"value":"Additional Expense Columns","id":"additional-expense-columns","depth":2},{"value":"Index Mapping","id":"index-mapping-1","depth":3},{"value":"Name Mapping","id":"name-mapping-1","depth":3},{"value":"Complete CSV Example","id":"complete-csv-example","depth":2},{"value":"Example ColumnMapping Configuration","id":"example-columnmapping-configuration","depth":2},{"value":"Example IndexMapping Configuration","id":"example-indexmapping-configuration","depth":2},{"value":"Full Configuration Example","id":"full-configuration-example","depth":2},{"value":"Certification","id":"certification","depth":1}],"frontmatter":{"sidebar":{"hide":true},"seo":{"title":"EDI Invoice File Format Specification"}},"lastModified":"2026-08-18T13:07:33.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/generic-invoice/home","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}