Invoice Components for EDIFACT

Mandatory components

This table lists the groups, segments, composites, and elements that have been defined as mandatory by the standards committee for an EDIFACT invoice (INVOIC).

Group Segment Composite Element Description
  BGM     Beginning of Message
DTM     Date/Time/Period
C507    
DTM01 Date/Time/Period Qualifier
UNS     Section Control
UNS01 Section Identification
MOA       Monetary Amount

Required components

This table lists the form components for this tutorial that are required (need to be activated) and are not mandatory for the standard.

Element Description DataType Length Constant, Code Value, or Format to Be Assigned
Beginning of Message (BGM Segment) (Already Activated)
BGM05 Document/Message Number String 35  
Date/Time/Period (DTM Segment) (Already Activated)
DTM01 Date/Time/Period Qualifier String 3 3 (Invoice Date/Time)
DTM02 Date/Time/Period String 35  
Reference (RFF Group)

Reference (RFF Segment in RFF Group)

RFF01 Reference Qualifier String 3
  • CT (Contract Number)
  • ON (Order Number (Purchase))
RFF02 Reference Number String 35  
Date/Time/Period (DTM:2 Segment in RFF Group)
DTM:201 Date/Time/Period Qualifier String 3
  • 92 (Contract Effective Date)
  • 4 (Order Date/Time)
DTM:202 Date/Time/Period String 35  
Name and Address (NAD Group)

Name and Address (NAD Segment in NAD Group)

NAD01 Party Qualifier String 3
  • ST (Ship To)
  • RE (Party To Receive Commercial Invoice Remittance)
NAD10 Party Name String 35  
NAD16 Street and Number/P.O. Box String 35  
NAD17 Street and Number/P.O. Box String 35  
NAD19 City Name String 35  
NAD20 Country Sub-Entity Identification String 9  
NAD21 Postcode Identification String 9  
Payment Terms (PAT Group)

Payment Terms Basis (PAT Segment in PAT Group)

PAT01 Payment Terms Type Qualifier String 3 Any valid code
Line Item (LIN Group)

Line Item (LIN Segment in LIN Group)

LIN01 Line Item Number Number 6  
Additional Product ID (PIA Segment in LIN Group)
PIA01 Product ID Function Qualifier String 3 5 (Product Identification)
PIA02 Item Number String 35  
PIA03 Item Number Type, Coded String 3 UP (UPC (Universal Product Code))
Item Description (IMD:2 Segment in LIN Group)
IMD:201 Item Description Type, Coded String 3 F (Free Form)
IMD:206 Item Description String 35  
Measurements (MEA:2 Segment in LIN Group)
MEA:201 Measurement Application Qualifier String 3 AAE (Measurement)
MEA:202 Measurement Dimension, Coded String 3  
Quantity (QTY:2 Segment in LIN Group)
QTY:201 Quantity Qualifier String 3 47 (Invoiced Quantity)
QTY:202 Quantity Number 15 Format = R0
Date/Time/Period (DTM:11 Segment in LIN Group)
DTM:1101 Date/Time/Period Qualifier String 3 186 (Departure Date/Time, Actual)
DTM:1102 Date/Time/Period String 35  
Monetary Amount (MOA Group in LIN Group)

Monetary Amount (MOA:5 Segment in MOA Group in LIN Group)

MOA:501 Monetary Amount Type Qualifier String 3 146 (Unit Price)
MOA:502 Monetary Amount Number 18 Format = R2
Details of Transport (TDT Group in LIN Group)

Details of Transport (TDT:2 Segment in TDT Group in LIN Group)

TDT:201 Transport Stage Qualifier String 3 20 (Main-Carriage Transport)
TDT:205 Type of Means of Transport Identification String 8 Any valid code
TDT:207 Carrier Identification String 17  
Section Control (UNS Segment)
UNS01 Section Identification String 1 S (Summary)
Control Total (CNT Segment)
CNT01 Control Qualifier String 3 2 (Number of Line Items)
CNT02 Control Value Number 8 Format = N0
Monetary Amount (MOA Group) (Already Activated)

Monetary Amount (MOA:10 Segment in MOA Group)

MOA:1001 Monetary Amount Type Qualifier String 3 77 (Invoice Amount)
MOA:1002 Monetary Amount Number 18 Format = R2

Customization tasks

Sterling Gentran:Server® generates a form based on the groups, segments, composites, and elements you activate. At this point, the form is compliant with the standard and it contains all the necessary components based on the data you send Pet Zone. You need to customize the form components to produce a form that is easy to use to enter data in a logical manner.

This table lists the customization tasks described in this tutorial.

Form Component Description Customization Task
BGM05 element Document/Message Number You will set up the document name (which enables you to differentiate between messages in the document browsers in Sterling Gentran:Server) in this element. Also, your users will enter no longer than an eight-character string in this element, so you will change the maximum length for this element to eight. In addition, you will change the field label to Invoice No., which better describes the data your users will enter.
DTM segment Date/Time/Period You and your trading partner will use this segment only once, so you will change the maximum use of this segment to one.
DTM01 element Date/Time/Period Qualifier Your users will enter only the invoice date in this segment, so you do not need to load the entire code list table. You will define a constant value in this element for the invoice date. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
DTM02 element Date/Time/Period Your users will enter a string no longer than eight characters in this element, so you will change the maximum length for this element to eight. Also, you will change the field label to Invoice Date.
RFF group Reference You and your trading partner will use this group only once, so you will change the maximum use of this group to one. You will promote this group so that the fields in this group are placed on the main Invoice Message frame. Also, you need two iterations of this group: one for the contract number, and one for the purchase order number. You will copy this segment so that you will have the two iterations of this group you need.
RFF01 element Reference Qualifier Your users will enter only the contract number in this segment, so you do not need to load the entire code list table. You will define a constant value in this field for the contract number. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically. You will perform the same task (with a different constant value) for the Reference Qualifier field in the new RFF group that you created by copying the original RFF group.
RFF02 element Reference Number Your users will enter a string no longer than ten characters in this element, so you will change the maximum length for this element to ten. Also, you will change the field label to P.O. No. ("Contract No." for the Reference Number field in the second iteration of the RFF segment).
DTM:2 segment Date/Time/Period You and your trading partner will use this segment only once, so you will change the maximum use of this segment to one.
DTM:201 element Date/Time/Period Qualifier Your users will enter only the contract date in this segment, so you do not need to load the entire code list table. You will define a constant value in this field for the contract date. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically. You will perform the same task (with a different constant value) for the Date/Time/Period Qualifier field in the new RFF group that you created by copying the original RFF group.
DTM:202 element Date/Time/Period Your users will enter a string no longer than eight characters in this element, so you will change the maximum length for this element to eight. Also, you will change the field label to P.O. Date ("Contract Date" for the Date/Time/Period field in the second iteration of the RFF segment).
NAD group Name and Address You and your trading partner have decided to use this group only once, so you will change the maximum use of this group to one. You will promote this group so that the fields in this group are placed on the main Invoice Message frame. Also, you need two iterations of this group: one for the Ship To name and address, and one for the Remit To name and address. You will copy this segment so that you will have the two iterations of this group you need.
NAD01 element Party Qualifier Your users will enter only the Ship To name and address in this group, so you do not need to load the entire code list table. You will define a constant value in this element for the contract number. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically. You will perform the same task (with a different constant value) for the Party Qualifier field in the new NAD group that you created by copying the original NAD group.
NAD10 element Party Name You will change the field label for this element to Ship To ("Remit To" for the Party Name field in the new NAD group).
NAD16 element Street and Number/P.O. Box The data in this element will be self-explanatory, so you will remove the label from this field.
NAD17 element Street and Number/P.O. Box The data in this element will be self-explanatory, so you will remove the label from this field.
NAD19 element City Name The data in this element will be self-explanatory, so you will remove the label from this field. Also, your users will enter no longer than a thirty-character string in this element, so you will change the maximum length for this element to thirty.
NAD20 element Country Sub-Entity Identification The data in this element will be self-explanatory, so you will remove the label from this field. Also, your users will enter no longer than a two-character string in this element, so you will change the maximum length for this element to two.
NAD21 element Postcode Identification The data in this element will be self-explanatory, so you will remove the label from this field.
PAT group Payment Terms You and your trading partner will use this group only once, so you will change the maximum use of this group to one. You will promote this group so that the fields in this group are placed on the main Invoice Message frame.
PAT01 element Payment Terms Type Qualifier Your users can enter any of the payment terms type codes that the standard designates as valid codes. You will load the entire code list for this element, which will create a list containing valid codes from which users can select. Also, you will change the field label to Payment Terms Code.
LIN group Line Item You will add the more descriptive title, Line Items, to the group description to label the fields contained on the LIN frame.
LIN01 element Line Item Number You will use an accumulator for this element to count line items in the invoice. This accumulator will be used in the Control Value field (CNT02) to calculate the total number of line items in the invoice. You will instruct the system to display the value in this field in the first column in the Line Items list on the Invoice Message frame. Also, the line item number will be no longer than five digits, so you will change the maximum length for this element to five. In addition, you will change the field label to Item No.
PIA segment in the LIN group Additional Product ID You and your trading partner will use this segment only once per line item, so you will change the maximum use of this segment to one.
PIA01 element Product ID Function Qualifier Your users will enter only the item number in this segment, so you do not need to load the entire code list table. You will define a constant value in this element for the item number. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
PIA02 element Item Number Your users will enter a string no longer than ten characters in this segment, so you will change the maximum length for this element to ten. Also, you will change the field name to Product Code. In addition, you will instruct the system to display the value in this field in the second column in the Line Items list on the Invoice Message frame.
PIA03 element Item Number Type, Coded Your users will enter only the product identification in this segment, so you do not need to load the entire code list table. You will define a constant value in this element for the product identification. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically. Also, the constant you defined for this element is only two characters long, so you will change the maximum length of this element to two.
IMD:2 segment in the LIN group Item Description You and your trading partner have decided to use this segment only once per line item, so you will change the maximum use of this segment to one.
IMD:201 element Item Description Type, Coded Your users will enter only the free-form description in this segment, so you do not need to load the entire code list table. You will define a constant value in this field for the free-form description. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
MEA:2 segment in the LIN group Measurements You and your trading partner have decided to use this segment only once per line item, so you will change the maximum use of this segment to one.
MEA:201 element Measurement Application Qualifier Your users will enter only the measurement dimension in this element, so you do not need to load the entire code list table. You will define a constant value in this element for the measurement dimension. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
MEA:202 element Measurement Dimension, Coded Your users can enter any of the measurement dimension codes that the standard designates as valid codes. You will load the entire code list for this element, which will create a list containing valid codes from which users can select. Also, you will change the field label to UOM (indicating "Unit of Measure").
QTY:2 segment in the LIN group Quantity You and your trading partner will use this segment only once, so you will change the maximum use of this segment to one.
QTY:201 element Quantity Qualifier Your users will enter only the invoiced quantity in this segment, so you do not need to load the entire code list table. You will define a constant value in this element for the invoiced quantity. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
QTY:202 element Quantity You will use an accumulator for this element to generate a running total of the invoice amount. This accumulator will be used in the Monetary Amount field (MOA:1002) to identify the total dollar amount invoiced. You will instruct the system to display the value in this field in the third column in the Line Items list on the Invoice Message frame. Also, your users will enter a number no longer than five digits in this element, so you will change the maximum length for this element to five. In addition, Your users will not use decimal places for the data in this field, so you will format the data with an explicit decimal point and no decimal places.
DTM:11 segment in the LIN group Date/Time/Period You and your trading partner will use this segment only once per line item, so you will change the maximum use of this segment to one.
DTM:1101 element Date/Time/Period Qualifier Your users will enter only the actual departure date in this segment, so you do not need to load the entire code list table. You will define a constant value in this element for the actual departure date. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
DTM:1102 element Date/Time/Period Your users will enter a string no longer than eight characters in this element, so you will change the maximum length for this element to eight. Also, you will change the field label to Date Shipped.
MOA group in the LIN group Monetary Amount You and your trading partner will use this group only once per line item, so you will change the maximum use of this group to one. You will promote this group so that the fields in this group are placed on the main Invoice Message frame.
MOA:501 element Monetary Amount Type Qualifier Your users will enter only the unit price in this segment, so you do not need to load the entire code list table. You will define a constant value in this element for the unit price. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
MOA:502 element Monetary Amount You will use an accumulator for this element to generate the total dollar amount of the invoice amount. This accumulator will be used in the Monetary Amount field (MOA:1002) to identify the total dollar amount invoiced. You will instruct the system to display the value in this field in the fourth column in the Line Items list on the Invoice Message frame. Also, your users will enter a number no longer than eight digits in this element, so you will change the maximum length for this element to eight. In addition, your users will enter prices with two decimal points in this field, so you will format the data with an explicit decimal point and two decimal places. Finally, you will change the field label to Price.
TDT group in the LIN group Details of Transport You and your trading partner have decided to use this group only once per line item, so you will change the maximum use of this group to one. You will promote this group so that the fields in this group are placed on the main Invoice Message frame.
TDT:201 element Transport Stage Qualifier Your users will enter only the main-carriage transport in this segment, so you do not need to load the entire code list table. You will define a constant value in this field for the transport stage. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
TDT:205 element Type of Means of Transport Identification Your users can enter any of the type of means of transport identification codes that the standard designates as valid codes. You will load the entire code list for this element, which will create a list containing valid codes from which users can select. Also, you will change the field label to Transport Method. In addition, your users will enter a string no longer than two characters in this element, so you will change the maximum length for this element to two.
TDT:207 element Carrier Identification Your users will enter a string no longer than twelve characters in this element, so you will change the maximum length for this element to twelve. Also, you will change the field name to Carrier Code.
UNS01 element Section Identification The only type of section identification used in this segment is summary, so you do not need to load the entire code list table. You will define a constant value in this element for the summary. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
CNT segment Control Total You and your trading partner have decided to use this segment only once, so you will change the maximum use of this segment to one.
CNT01 element Control Qualifier The only type of control used in this segment is the number of line items, so you do not need to load the entire code list table. You will define a constant value in this element for the number of line items. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
CNT02 element Control Value You will use an accumulator for this element to generate a total of the number of line items in the invoice. You will make this field display-only, so that users cannot change the value in this field. Also, the total in this field will be no longer than a six-character string, so you will change the maximum length for this element to six. You will change the field label to Number of Line Items. In addition, the value in this field always will be a whole number, so you will format the data with an explicit decimal point and no decimal places.
MOA group Monetary Amount You and your partner will use this group only once, so you will change the maximum use of this group to one. You will promote this group so that the fields in this group are placed on the main Invoice Message frame.
MOA:1001 element Monetary Amount Type Qualifier The only type of monetary amount used in this segment is the invoice amount, so you do not need to load the entire code list table. You will define a constant value in this field for the invoice amount. Then, you will prevent this field from being displayed in the screen entry form, because the value for this field will be entered automatically.
MOA:1002 element Monetary Amount You will use an accumulator for this element to generate a running total of price (the quantity invoiced for each line item multiplied by the unit price). You will make this field display-only, so that users cannot change the value in this field. Also, the total in this field will be no longer than a ten-character string, so you will change the maximum length for this element to ten. You will change the field label to Total Invoice Amount. Finally, the value in this field will be a price with two decimal places, so you will format the data with an explicit decimal point and two decimal places.