**These specifications are a base model. All customers are responsible for ensuring their map or EDI is compliant with their trading partner's most current specifications.

X12 810 Invoice
Revised November 10, 2023
This Draft Standard for Trial Use contains the format and establishes the data contents of the Invoice Transaction Set (810) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to provide for customary and established business and industry practice relative to the billing for goods and services provided.
Delimiters
- ~ Segment
- * Element
- > Component
EDI sample
Interchange Control Header
RequiredMax use 1
To start and identify an interchange of zero or more functional groups and interchange-related control segments
Example
ISA*00* *00* *XX*XXXXXXXXXXXXXXX*XX*XXXXXXXXXXXXXXX*240622*1311*U*00401*000000000*X*X*>~
Authorization Information Qualifier
Required
Identifier (ID)
Code to identify the type of information in the Authorization Information
00
No Authorization Information Present (No Meaningful Information in I02)
Authorization Information
Required
String (AN)
Min 10Max 10
Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (I01)
Security Information Qualifier
Required
Identifier (ID)
Code to identify the type of information in the Security Information
00
No Security Information Present (No Meaningful Information in I04)
Security Information
Required
String (AN)
Min 10Max 10
This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (I03)
Interchange ID Qualifier
Required
Identifier (ID)
Min 2Max 2
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Codes
Interchange Sender ID
Required
String (AN)
Min 15Max 15
Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element
Interchange ID Qualifier
Required
Identifier (ID)
Min 2Max 2
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Codes
Interchange Receiver ID
Required
String (AN)
Min 15Max 15
Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them
Interchange Date
Required
Date (DT)
YYMMDD format
Date of the interchange
Interchange Time
Required
Time (TM)
HHMM format
Time of the interchange
Interchange Control Standards Identifier
Required
Identifier (ID)
Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer
U
U.S. EDI Community of ASC X12, TDCC, and UCS
Interchange Control Version Number
Required
Identifier (ID)
This version number covers the interchange control segments
00401
Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1997
Interchange Control Number
Required
Numeric (N0)
Min 9Max 9
A control number assigned by the interchange sender
Acknowledgment Requested
Required
Identifier (ID)
Min 1Max 1
Code sent by the sender to request an interchange acknowledgment (TA1)
0
No Acknowledgment Requested
1
Interchange Acknowledgment Requested
Usage Indicator
Required
Identifier (ID)
Min 1Max 1
Code to indicate whether data enclosed by this interchange envelope is test, production or information
I
Information
P
Production Data
T
Test Data
Component Element Separator
Required
String (AN)
Min 1Max 1
Type is not applicable; the component element separator is a delimiter and not a data element; this field provides the delimiter used to separate component data elements within a composite data structure; this value must be different than the data element separator and the segment terminator
>
Component Element Separator
Functional Group Header
RequiredMax use 1
To indicate the beginning of a functional group and to provide control information
Example
GS*IN*XXXX*XXXXX*20240622*0436*00*X*004010~
Functional Identifier Code
Required
Identifier (ID)
Code identifying a group of application related transaction sets
IN
Invoice Information (810,819)
Application Sender's Code
Required
String (AN)
Min 2Max 15
Code identifying party sending transmission; codes agreed to by trading partners
Application Receiver's Code
Required
String (AN)
Min 2Max 15
Code identifying party receiving transmission. Codes agreed to by trading partners
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Time
Required
Time (TM)
HHMM, HHMMSS, HHMMSSD, or HHMMSSDD format
Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)
Group Control Number
Required
Numeric (N0)
Min 1Max 9
Assigned number originated and maintained by the sender
Responsible Agency Code
Required
Identifier (ID)
Min 1Max 2
Code used in conjunction with Data Element 480 to identify the issuer of the standard
T
Transportation Data Coordinating Committee (TDCC)
X
Accredited Standards Committee X12
Version / Release / Industry Identifier Code
Required
String (AN)
Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments; if code in DE455 in GS segment is X, then in DE 480 positions 1-3 are the version number; positions 4-6 are the release and subrelease, level of the version; and positions 7-12 are the industry or trade association identifiers (optionally assigned by user); if code in DE455 in GS segment is T, then other formats are allowed
004010
Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1997
Heading
010
Transaction Set Header
RequiredMax use 1
To indicate the start of a transaction set and to assign a control number
Example
ST*810*0001~
Transaction Set Identifier Code
Required
Identifier (ID)
Code uniquely identifying a Transaction Set
- The transaction set identifier (ST01) used by the translation routines of the interchange partners to select the appropriate transaction set definition (e.g., 810 selects the Invoice Transaction Set).
810
Invoice
Transaction Set Control Number
Required
Numeric (N)
Min 4Max 9
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
020
Beginning Segment for Invoice
RequiredMax use 1
To indicate the beginning of an invoice transaction set and transmit identifying numbers and dates
Usage notes
EXAMPLE: BIG2000042512351199**1999999999
Example
BIG*20230713*XX**XXXX~
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
- BIG01 is the invoice issue date.
Invoice Number
Required
String (AN)
Min 1Max 22
Identifying number assigned by issuer
Usage notes
This element contains a unique invoice number assigned by the party sending the document. The invoice number cannot be greater than 10 digits in length. Invoice numbers greater than 10 digits will be truncated from the left during the payment process.
Purchase Order Number
Required
String (AN)
Min 1Max 22
Identifying number for Purchase Order assigned by the orderer/purchaser
Usage notes
This element contains The Home Depot purchase order number.
Returning an invalid purchase order number will result in a failure to process the message.
N1 Loop
RequiredMax >1
070
Name
RequiredMax use 1
To identify a party by type of organization, name, and code
Usage notes
Example: N1RICOMPANY 1239269035
The Home Depot will not make payment on invoices that lack this segment.
Suppliers are required to know their 'P' number or remit id in The Home Depot accounts payable system and must report that ID in this 'RI' qualified N1 loop at the N104 element.
Example
N1*RI*XXXXXX*92*XXXXXX~
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
RI
Remit To
Name
Optional
String (AN)
Min 1Max 60
Free-form name
Identification Code Qualifier
Required
Identifier (ID)
Code designating the system/method of code structure used for Identification Code (67)
92
Assigned by Buyer or Buyer's Agent
Identification Code
Required
String (AN)
Min 2Max 80
Code identifying a party or other code
- This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party.
Usage notes
This element contains the suppliers 'P' number.
130
Terms of Sale/Deferred Terms of Sale
RequiredMax use >1
To specify terms of sale
Usage notes
EXAMPLE: ITD013*102130
Example
ITD*09*3*000**000**00~
Terms Type Code
Required
Identifier (ID)
Code identifying type of payment terms
- If the code in ITD01 is "04", then ITD07 or ITD09 is required and either ITD10 or ITD11 is required; if the code in ITD01 is "05", then ITD06 or ITD07 is required.
01
Basic
09
Proximo
Terms Basis Date Code
Required
Identifier (ID)
Code identifying the beginning of the terms period
2
Delivery Date
3
Invoice Date
Terms Discount Percent
Optional
Decimal number (R)
Min 1Max 6
Terms discount percentage, expressed as a percent, available to the purchaser if an invoice is paid on or before the Terms Discount Due Date
Usage notes
This element should only be populated if there is a discount available.
Terms Discount Days Due
Optional
Numeric (N0)
Min 1Max 3
Number of days in the terms discount period by which payment is due if terms discount is earned
Usage notes
This element should only be populated if there is a discount available.
Terms Net Days
Required
Numeric (N0)
Min 1Max 3
Number of days until total invoice amount is due (discount not applicable)
Detail
IT1 Loop
RequiredMax >1
010
Baseline Item Data (Invoice)
RequiredMax use 1
To specify the basic and most frequently used line item data for the invoice and related transactions
Usage notes
Example: IT1011EA263.94*VN000215
Example
IT1*X*0000000000*EA*000000000000000**VN*XXXX~
If either Product/Service ID Qualifier (IT1-06) or Product/Service ID (IT1-07) is present, then the other is required
Assigned Identification
Required
String (AN)
Min 1Max 20
Alphanumeric characters assigned for differentiation within a transaction set
- IT101 is the purchase order line item identification.
Usage notes
This element contains The Home Depot's purchase order line number.
Returning an invalid line number will result in a failure to process the message.
Quantity Invoiced
Required
Decimal number (R)
Min 1Max 10
Number of units invoiced (supplier units)
Usage notes
This element contains the number of units being invoiced for. The following rules apply to this element:
- The quantity contained here cannot be greater than the quantity that has been reported shipped.
Unit or Basis for Measurement Code
Required
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
EA
Each
Unit Price
Required
Decimal number (R)
Min 1Max 15
Price per unit of product, service, commodity, etc.
Usage notes
This element contains the unit cost (the amount being invoiced per unit) for the item.
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
- IT106 through IT125 provide for ten different product/service IDs for each item. For example: Case, Color, Drawing No., U.P.C. No., ISBN No., Model No., or SKU.
VN
Vendor's (Seller's) Item Number
This qualifier indicates that the IT107 contains the vendor SKU for the product.
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
This element contains the vendor SKU for the product.
150
Date/Time Reference
RequiredMax use 10
To specify pertinent dates and times
Usage notes
EXAMPLE: DTM01120130715
Example
DTM*011*20230713~
Date/Time Qualifier
Required
Identifier (ID)
Code specifying type of date or time, or both date and time
011
Shipped
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Usage notes
This element contains the Ship date.
The Home Depot requires separate invoices when fulfillment is accomplished with separate shipments (i.e. shipments on different dates), so only one shipment date can be reported per 810.
160
Carrier Detail
RequiredMax use >1
To specify transportation details for the transaction
Example
CAD*ZZ****XXXXXX**CN*XXXXXX~
Transportation Method/Type Code
Required
Identifier (ID)
Code specifying the method or type of transportation for the shipment
ZZ
Mutually defined
Routing
Required
String (AN)
Min 1Max 35
Free-form description of the routing or requested routing for shipment, or the originating carrier's identity
Usage notes
Contact CommerceHub for a complete list of codes. This element must contain a value from this list.
Reference Identification Qualifier
Required
Identifier (ID)
Code qualifying the Reference Identification
CN
Carrier's Reference Number (PRO/Invoice)
Reference Identification
Required
String (AN)
Min 1Max 30
Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
Usage notes
This should be the same tracking number that is sent in the MAN CP12345678 segment of the corresponding Shipment Confirmation
Summary
010
Total Monetary Value Summary
RequiredMax use 1
To specify the total invoice discounts and amounts
Usage notes
EXAMPLE: TDS*12575
Example
TDS*0000000000000~
Amount
Required
Numeric (N2)
Min 1Max 15
Monetary amount
- TDS01 is the total amount of invoice (including charges, less allowances) before terms discount (if discount is applicable).
Usage notes
This element contains the total invoice amount.
SAC Loop
OptionalMax >1
040
Service, Promotion, Allowance, or Charge Information
RequiredMax use 1
To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service, promotion, allowance, or charge
Usage notes
Examples:
SACCG830*525
SACA*B800325
SACCD500*525
SACCH850***525
Any difference between the TDS-01 amount and the extended merchandise
amount (i.e. Sum of IT1-02 * IT1-04 for all IT1 loops) must be accounted for in
the SAC segments that follow the TDS segment
Example
SAC*C*B800***0000000~
Allowance or Charge Indicator
Required
Identifier (ID)
Code which indicates an allowance or charge for the service specified
- If SAC01 is "A" or "C", then at least one of SAC05, SAC07, or SAC08 is required.
A
Allowance
C
Charge
Service, Promotion, Allowance, or Charge Code
Optional
Identifier (ID)
Code identifying the service, promotion, allowance, or charge
Usage notes
For other available codes please refer to your retailer-specific addendum.
B800
Credit
This qualifier indicates that the SAC05 contains a credit allowance.
D500
Handling
This qualifier indicates that the SAC05 contains a handling charge.
G830
Shipping and Handling
Shipping charges should be zero.
All shipping charges should be prepaid with The Home Depot 'approved' shipping partners. No reimbursement will be made for shipping done through non-approved shippers.
H850
Tax
Amount
Optional
Numeric (N2)
Min 1Max 15
Monetary amount
- SAC05 is the total amount for the service, promotion, allowance, or charge.
- If SAC05 is present with SAC07 or SAC08, then SAC05 takes precedence.
080
Transaction Set Trailer
RequiredMax use 1
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)
Example
SE*0*0001~
Number of Included Segments
Required
Numeric (N0)
Min 1Max 10
Total number of segments included in a transaction set including ST and SE segments
Transaction Set Control Number
Required
Numeric (N)
Min 4Max 9
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
Functional Group Trailer
RequiredMax use 1
To indicate the end of a functional group and to provide control information
Example
GE*000000*0000000~
Number of Transaction Sets Included
Required
Numeric (N0)
Min 1Max 6
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Group Control Number
Required
Numeric (N0)
Min 1Max 9
Assigned number originated and maintained by the sender
Interchange Control Trailer
RequiredMax use 1
To define the end of an interchange of zero or more functional groups and interchange-related control segments
Example
IEA*00*000000000~
Number of Included Functional Groups
Required
Numeric (N0)
Min 1Max 5
A count of the number of functional groups included in an interchange
Interchange Control Number
Required
Numeric (N0)
Min 9Max 9
A control number assigned by the interchange sender
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article