Documentation

X12 810 EDI Template

Article author
Admin
  • Updated

X12 810 EDI Template

EDI Tools for .NET uses C# classes to represent the layout of EDI transactions. These classes are nothing more than standard C# .NET classes with some extra markup and are referred to as EDI templates.

 

X12 810 Specification

X12 810 specification is available at:

 

X12 810 Sample File

X12 810 sample file is available at:

 

EDI Tools for .NET C# Examples

The example below is part of the EDI Tools for .NET C# Code Examples.

Download EDI C# Examples

The Parse & Generate X12 810 code is also available on GitHub

 

Additional operations for X12 810

 

EDI template for X12 810


namespace EdiFabric.Templates.X12004010
{
    using System;
    using System.Collections.Generic;
    using System.Runtime.Serialization;
    using EdiFabric.Core.Annotations.Edi;
    using EdiFabric.Core.Annotations.Validation;
    using EdiFabric.Core.Model.Edi;
    using EdiFabric.Core.Model.Edi.X12;
    using System.Xml.Serialization;
    
    
    ///
    /// Loop for Type of Financial Accounting Data
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(FA1))]
    public class Loop_FA1_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Type of Financial Accounting Data
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual FA1 FA1 { get; set; }
        ///
        /// Accounting Data
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual List FA2 { get; set; }
    }
    
    ///
    /// Loop for Invoice Shipment Summary
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(ISS))]
    public class Loop_ISS_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Invoice Shipment Summary
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual ISS ISS { get; set; }
        ///
        /// Product/Item Description
        /// 
        [DataMember]
        [Pos(2)]
        public virtual PID PID { get; set; }
    }
    
    ///
    /// Loop for Baseline Item Data (Invoice)
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(IT1))]
    public class Loop_IT1_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Baseline Item Data (Invoice)
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual IT1 IT1 { get; set; }
        ///
        /// Conditions Indicator
        /// 
        [DataMember]
        [Pos(2)]
        public virtual CRC CRC { get; set; }
        ///
        /// Quantity
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(3)]
        public virtual List QTY { get; set; }
        ///
        /// Currency
        /// 
        [DataMember]
        [Pos(4)]
        public virtual CUR CUR { get; set; }
        ///
        /// Additional Item Data
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(5)]
        public virtual List IT3 { get; set; }
        ///
        /// Tax Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(6)]
        public virtual List TXI { get; set; }
        ///
        /// Pricing Information
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(7)]
        public virtual List CTP { get; set; }
        ///
        /// Period Amount
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(8)]
        public virtual List PAM { get; set; }
        ///
        /// Measurements
        /// 
        [DataMember]
        [ListCount(40)]
        [Pos(9)]
        public virtual List MEA { get; set; }
        ///
        /// Loop for Product/Item Description
        /// 
        [DataMember]
        [ListCount(1000)]
        [Pos(10)]
        public virtual List PIDLoop { get; set; }
        ///
        /// Paperwork
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(11)]
        public virtual List PWK { get; set; }
        ///
        /// Marking, Packaging, Loading
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(12)]
        public virtual List PKG { get; set; }
        ///
        /// Item Physical Details
        /// 
        [DataMember]
        [Pos(13)]
        public virtual PO4 PO4 { get; set; }
        ///
        /// Terms of Sale/Deferred Terms of Sale
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(14)]
        public virtual List ITD { get; set; }
        ///
        /// Reference Identification
        /// 
        [DataMember]
        [Pos(15)]
        public virtual List REF { get; set; }
        ///
        /// Yes/No Question
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(16)]
        public virtual List YNQ { get; set; }
        ///
        /// Administrative Communications Contact
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(17)]
        public virtual List PER { get; set; }
        ///
        /// Destination Quantity
        /// 
        [DataMember]
        [ListCount(500)]
        [Pos(18)]
        public virtual List SDQ { get; set; }
        ///
        /// Date/Time Reference
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(19)]
        public virtual List DTM { get; set; }
        ///
        /// Carrier Detail
        /// 
        [DataMember]
        [Pos(20)]
        public virtual List CAD { get; set; }
        ///
        /// Tariff Reference
        /// 
        [DataMember]
        [Pos(21)]
        public virtual List L7 { get; set; }
        ///
        /// Requested Service Schedule
        /// 
        [DataMember]
        [Pos(22)]
        public virtual SR SR { get; set; }
        ///
        /// Loop for Service, Promotion, Allowance, or Charge Information
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(23)]
        public virtual List SACLoop { get; set; }
        ///
        /// Loop for Subline Item Detail
        /// 
        [DataMember]
        [ListCount(1000)]
        [Pos(24)]
        public virtual List SLNLoop { get; set; }
        ///
        /// Loop for Name
        /// 
        [DataMember]
        [ListCount(200)]
        [Pos(25)]
        public virtual List N1Loop { get; set; }
        ///
        /// Loop for Code Source Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(26)]
        public virtual List LMLoop { get; set; }
        ///
        /// Loop for Vessel Identification
        /// 
        [DataMember]
        [Pos(27)]
        public virtual List V1Loop { get; set; }
        ///
        /// Loop for Type of Financial Accounting Data
        /// 
        [DataMember]
        [Pos(28)]
        public virtual List FA1Loop { get; set; }
    }
    
    ///
    /// Loop for Code Source Information
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(LM))]
    public class Loop_LM_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Code Source Information
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual LM LM { get; set; }
        ///
        /// Industry Code
        /// 
        [DataMember]
        [Required]
        [ListCount(100)]
        [Pos(2)]
        public virtual List LQ { get; set; }
    }
    
    ///
    /// Loop for Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(N1))]
    public class Loop_N1_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual N1 N1 { get; set; }
        ///
        /// Additional Name Information
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(2)]
        public virtual List N2 { get; set; }
        ///
        /// Address Information
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(3)]
        public virtual List N3 { get; set; }
        ///
        /// Geographic Location
        /// 
        [DataMember]
        [Pos(4)]
        public virtual N4 N4 { get; set; }
        ///
        /// Reference Identification
        /// 
        [DataMember]
        [ListCount(12)]
        [Pos(5)]
        public virtual List REF { get; set; }
        ///
        /// Administrative Communications Contact
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(6)]
        public virtual List PER { get; set; }
        ///
        /// Demographic Information
        /// 
        [DataMember]
        [Pos(7)]
        public virtual DMG DMG { get; set; }
    }
    
    ///
    /// Loop for Reference Identification
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(N9))]
    public class Loop_N9_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Reference Identification
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual N9 N9 { get; set; }
        ///
        /// Message Text
        /// 
        [DataMember]
        [Required]
        [ListCount(10)]
        [Pos(2)]
        public virtual List MSG { get; set; }
    }
    
    ///
    /// Loop for Product/Item Description
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(PID))]
    public class Loop_PID_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Product/Item Description
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual PID PID { get; set; }
        ///
        /// Measurements
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(2)]
        public virtual List MEA { get; set; }
    }
    
    ///
    /// Loop for Service, Promotion, Allowance, or Charge Information
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(SAC))]
    public class Loop_SAC_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Service, Promotion, Allowance, or Charge Information
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual SAC SAC { get; set; }
        ///
        /// Tax Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(2)]
        public virtual List TXI { get; set; }
    }
    
    ///
    /// Loop for Subline Item Detail
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(SLN))]
    public class Loop_SLN_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Subline Item Detail
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual SLN SLN { get; set; }
        ///
        /// Date/Time Reference
        /// 
        [DataMember]
        [Pos(2)]
        public virtual DTM DTM { get; set; }
        ///
        /// Reference Identification
        /// 
        [DataMember]
        [Pos(3)]
        public virtual List REF { get; set; }
        ///
        /// Product/Item Description
        /// 
        [DataMember]
        [ListCount(1000)]
        [Pos(4)]
        public virtual List PID { get; set; }
        ///
        /// Service, Promotion, Allowance, or Charge Information
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(5)]
        public virtual List SAC { get; set; }
        ///
        /// Commodity
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(6)]
        public virtual List TC2 { get; set; }
        ///
        /// Tax Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(7)]
        public virtual List TXI { get; set; }
    }
    
    ///
    /// Loop for Vessel Identification
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(V1))]
    public class Loop_V1_810
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Vessel Identification
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual V1 V1 { get; set; }
        ///
        /// Port or Terminal
        /// 
        [DataMember]
        [Pos(2)]
        public virtual List R4 { get; set; }
        ///
        /// Date/Time Reference
        /// 
        [DataMember]
        [Pos(3)]
        public virtual List DTM { get; set; }
    }
    
    ///
    /// Invoice
    /// 
    [Serializable()]
    [DataContract()]
    [Message("X12", "004010", "810")]
    public class TS810 : EdiMessage
    {
        
        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Transaction Set Header
        /// 
        [DataMember]
        [Pos(1)]
        public virtual ST ST { get; set; }
        ///
        /// Beginning Segment for Invoice
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual BIG BIG { get; set; }
        ///
        /// Note/Special Instruction
        /// 
        [DataMember]
        [ListCount(100)]
        [Pos(3)]
        public virtual List NTE { get; set; }
        ///
        /// Currency
        /// 
        [DataMember]
        [Pos(4)]
        public virtual CUR CUR { get; set; }
        ///
        /// Reference Identification
        /// 
        [DataMember]
        [ListCount(12)]
        [Pos(5)]
        public virtual List REF { get; set; }
        ///
        /// Yes/No Question
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(6)]
        public virtual List YNQ { get; set; }
        ///
        /// Administrative Communications Contact
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(7)]
        public virtual List PER { get; set; }
        ///
        /// Loop for Name
        /// 
        [DataMember]
        [ListCount(200)]
        [Pos(8)]
        public virtual List N1Loop { get; set; }
        ///
        /// Terms of Sale/Deferred Terms of Sale
        /// 
        [DataMember]
        [Pos(9)]
        public virtual List ITD { get; set; }
        ///
        /// Date/Time Reference
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(10)]
        public virtual List DTM { get; set; }
        ///
        /// F.O.B. Related Instructions
        /// 
        [DataMember]
        [Pos(11)]
        public virtual FOB FOB { get; set; }
        ///
        /// Product/Item Description
        /// 
        [DataMember]
        [ListCount(200)]
        [Pos(12)]
        public virtual List PID { get; set; }
        ///
        /// Measurements
        /// 
        [DataMember]
        [ListCount(40)]
        [Pos(13)]
        public virtual List MEA { get; set; }
        ///
        /// Paperwork
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(14)]
        public virtual List PWK { get; set; }
        ///
        /// Marking, Packaging, Loading
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(15)]
        public virtual List PKG { get; set; }
        ///
        /// Tariff Reference
        /// 
        [DataMember]
        [Pos(16)]
        public virtual L7 L7 { get; set; }
        ///
        /// Balance Detail
        /// 
        [DataMember]
        [Pos(17)]
        public virtual List BAL { get; set; }
        ///
        /// Installment Information
        /// 
        [DataMember]
        [Pos(18)]
        public virtual INC INC { get; set; }
        ///
        /// Period Amount
        /// 
        [DataMember]
        [Pos(19)]
        public virtual List PAM { get; set; }
        ///
        /// Loop for Code Source Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(20)]
        public virtual List LMLoop { get; set; }
        ///
        /// Loop for Reference Identification
        /// 
        [DataMember]
        [Pos(21)]
        public virtual Loop_N9_810 N9Loop { get; set; }
        ///
        /// Loop for Vessel Identification
        /// 
        [DataMember]
        [Pos(22)]
        public virtual List V1Loop { get; set; }
        ///
        /// Loop for Type of Financial Accounting Data
        /// 
        [DataMember]
        [Pos(23)]
        public virtual List FA1Loop { get; set; }
        ///
        /// Loop for Baseline Item Data (Invoice)
        /// 
        [DataMember]
        [ListCount(200000)]
        [Pos(24)]
        public virtual List IT1Loop { get; set; }
        ///
        /// Total Monetary Value Summary
        /// 
        [DataMember]
        [Required]
        [Pos(25)]
        public virtual TDS TDS { get; set; }
        ///
        /// Tax Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(26)]
        public virtual List TXI { get; set; }
        ///
        /// Carrier Detail
        /// 
        [DataMember]
        [Pos(27)]
        public virtual CAD CAD { get; set; }
        ///
        /// Monetary Amount
        /// 
        [DataMember]
        [Pos(28)]
        public virtual List AMT { get; set; }
        ///
        /// Loop for Service, Promotion, Allowance, or Charge Information
        /// 
        [DataMember]
        [ListCount(25)]
        [Pos(29)]
        public virtual List SACLoop { get; set; }
        ///
        /// Loop for Invoice Shipment Summary
        /// 
        [DataMember]
        [Pos(30)]
        public virtual List ISSLoop { get; set; }
        ///
        /// Transaction Totals
        /// 
        [DataMember]
        [Pos(31)]
        public virtual CTT CTT { get; set; }
        ///
        /// Transaction Set Trailer
        /// 
        [DataMember]
        [Pos(32)]
        public virtual SE SE { get; set; }
    }
}
Share this:

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.