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.
The Parse & Generate X12 810 code is also available on GitHub
Additional operations for X12 810
- Parse X12 files
- Generate X12 files
- Validate X12 messages
- Generate X12 acknowledgments
- Save X12 files to DB
- Convert between X12 and JSON
- Convert between X12 and XML
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; }
}
}
Comments
0 comments
Please sign in to leave a comment.