/Source/OffInvoiceWordAddIn/OffInvoiceWordAddIn/FacturaeFiles/Facturae.cs
http://offinvoice.codeplex.com · C# · 6622 lines · 4200 code · 1941 blank · 481 comment · 0 complexity · c7b7414d7cd5a159a6774bb64faace37 MD5 · raw file
Large files are truncated click here to view the full file
- // ----------------------------------------------------------------------------------------
- // Author: Magaly Vargas y Joaquín López
- // Company: ALBALIA INTERACTIVA S.L.
- // Assembly version: 1.0.0.0
- // Date: 22/02/2010
- // Time: 12:00
- // Solution Name: OffInvoiceWordAddIn
- // Solution Filename: OffInvoiceWordAddIn
- // Solution FullFilename: C:\Desarrollo\OffInvoiceWordAddIn
- // Project Name: OffInvoiceWordAddIn
- // Project Filename: OffInvoiceWordAddIn.csproj
- // Project FullFilename: C:\Desarrollo\OffInvoiceWordAddIn\OffInvoiceWordAddIn.csproj
- // Project Item Name: Facturae.cs
- // Project Item Filename: Facturae.cs
- // Project Item FullFilename: C:\Desarrollo\OffInvoiceWordAddIn\FacturaeFiles\Facturae.cs
- // Project Item Kind: Código
- // Purpose:
- //Copyright © 2009 - 2010 Albalia Interactiva S.L. Reservados todos los derechos.
- // ----------------------------------------------------------------------------------------
-
-
- using System;
- using System.Xml.Serialization;
- using System.Collections.Generic;
- using System.CodeDom.Compiler;
- using System.ComponentModel;
- using System.Diagnostics;
- using System.Xml.Schema;
- using System.Xml;
-
- namespace OffInvoiceWordAddIn.FacturaeFiles
- {
-
-
-
-
-
- /// <summary>
- /// Clase serializable que representa la estructura de la facturae
- /// </summary>
- /// <remarks>
- /// Contiene los distintos tipos de objetos a utilizar para la generación de la factura
- /// </remarks>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- //[XmlRootAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae", IsNullable = false)]
- public partial class Facturae
- {
- private FileHeaderType fileHeaderField;
-
- private PartiesType partiesField;
-
- private List<InvoiceType> invoicesField;
-
- private ExtensionsType extensionsField;
-
- public Facturae()
- {
- fileHeaderField = new FileHeaderType();
- partiesField = new PartiesType();
- invoicesField = new List<InvoiceType>();
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public FileHeaderType FileHeader
- {
- get
- {
- return this.fileHeaderField;
- }
- set
- {
- this.fileHeaderField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public PartiesType Parties
- {
- get
- {
- return this.partiesField;
- }
- set
- {
- this.partiesField = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("Invoice", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<InvoiceType> Invoices
- {
- get
- {
- return this.invoicesField;
- }
- set
- {
- this.invoicesField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public ExtensionsType Extensions
- {
- get
- {
- return this.extensionsField;
- }
- set
- {
- this.extensionsField = value;
- }
- }
- }
-
- /// <summary>
- /// Clase utilizada dentro de la Clase Facturae, Representacion de .net para el encabezado del documneto xml de una Facturae
- /// </summary>
- /// <remarks>
- /// Especifica:
- /// Version del esquema, modalidad, tipo de emisor, datos del tercero, e informacion referente al lote de facturas
- /// </remarks>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class FileHeaderType
- {
-
- private SchemaVersionType schemaVersionField;
-
- private ModalityType modalityField;
-
- private InvoiceIssuerTypeType invoiceIssuerTypeField;
-
- private ThirdPartyType thirdPartyField;
-
- private BatchType batchField;
-
- private FactoringAssignmentDataType factoringAssignmentDataField;
-
- public FileHeaderType()
- {
- this.schemaVersionField = SchemaVersionType.Item31;
- this.invoiceIssuerTypeField = new InvoiceIssuerTypeType();
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public SchemaVersionType SchemaVersion
- {
- get
- {
- return this.schemaVersionField;
- }
- set
- {
- this.schemaVersionField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public ModalityType Modality
- {
- get
- {
- return this.modalityField;
- }
- set
- {
- this.modalityField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public InvoiceIssuerTypeType InvoiceIssuerType
- {
- get
- {
- return this.invoiceIssuerTypeField;
- }
- set
- {
- this.invoiceIssuerTypeField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public ThirdPartyType ThirdParty
- {
- get
- {
- return this.thirdPartyField;
- }
- set
- {
- this.thirdPartyField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public BatchType Batch
- {
- get
- {
- return this.batchField;
- }
- set
- {
- this.batchField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public FactoringAssignmentDataType FactoringAssignmentData
- {
- get
- {
- return this.factoringAssignmentDataField;
- }
- set
- {
- this.factoringAssignmentDataField = value;
- }
- }
- }
-
- /// <summary>
- /// Enumerado que brinda el tipo de version del esquema de facturae.
- /// a la fecha existen dos tipos el V3.0 y el V3.1, para efectos de la facturae generada con la aplicación se utiliza el segundo
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum SchemaVersionType
- {
-
-
- [XmlEnumAttribute("3.1")]
- Item31,
- [XmlEnumAttribute("3.2")]
- Item32,
- }
-
- /// <summary>
- /// Enumerado que brinda los tipos de modalidad de la factura: Individual (I) ó Lote (L)
- /// Para efectos de la aplicacion se utilizará siempre la modalidad (I) por lo que el valor para
- /// el campo InvoicesCount de la clase Batch siempre sera 1
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum ModalityType
- {
-
- /// <summary>
- /// Individual
- /// </summary>
- I,
- /// <summary>
- /// Lote
- /// </summary>
-
- L,
- }
-
- /// <summary>
- /// Enumerado que brinda los tres tipos de emisor ó firmante de una factura:
- /// Emisor (E) en facturas de clientes, Receptor en facturas de provedores (RE), ó Tercero en facturas generadas por una ente externo (TE)
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum InvoiceIssuerTypeType
- {
-
- /// <summary>
- /// Emisor
- /// </summary>
- EM,
-
- /// <summary>
- /// Receptor
- /// </summary>
- RE,
-
- /// <summary>
- /// Tercero
- /// </summary>
- TE,
- }
-
- /// <summary>
- /// Clase que representa la estructura de la sección de datos del tercero, en caso de que el valor del campo InvoiceIssuerType sea "TE"
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class ThirdPartyType
- {
-
- private TaxIdentificationType taxIdentificationField;
-
- private object itemField;
-
- public ThirdPartyType()
- {
- taxIdentificationField = new TaxIdentificationType();
-
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public TaxIdentificationType TaxIdentification
- {
- get
- {
- return this.taxIdentificationField;
- }
- set
- {
- this.taxIdentificationField = value;
- }
- }
-
-
- [XmlElementAttribute("Individual", typeof(IndividualType), Form = XmlSchemaForm.Unqualified)]
- [XmlElementAttribute("LegalEntity", typeof(LegalEntityType), Form = XmlSchemaForm.Unqualified)]
- public object Item
- {
- get
- {
- return this.itemField;
- }
- set
- {
- this.itemField = value;
- }
- }
- }
-
- /// <summary>
- /// Clase que representa informacion de identificacion de las partes envueltas en la factura emisor, cliente o receptor ó tercero
- /// <para>Especifica campos como tipo de persona, tipo de residente, NIF</para>
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class TaxIdentificationType
- {
-
- private PersonTypeCodeType personTypeCodeField;
-
- private ResidenceTypeCodeType residenceTypeCodeField;
-
- private string taxIdentificationNumberField;
-
- public TaxIdentificationType()
- {
-
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public PersonTypeCodeType PersonTypeCode
- {
- get
- {
- return this.personTypeCodeField;
- }
- set
- {
- this.personTypeCodeField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public ResidenceTypeCodeType ResidenceTypeCode
- {
- get
- {
- return this.residenceTypeCodeField;
- }
- set
- {
- this.residenceTypeCodeField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string TaxIdentificationNumber
- {
- get
- {
- return this.taxIdentificationNumberField;
- }
- set
- {
- this.taxIdentificationNumberField = value;
- }
- }
- }
-
- /// <summary>
- /// Enumerado que brinda los tipos de persona
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum PersonTypeCodeType
- {
-
- /// <summary>
- /// Persona físisca
- /// </summary>
- F,
- /// <summary>
- /// Persona Jurídica
- /// </summary>
- J,
- }
-
- /// <summary>
- /// Enumerado que brinda los tipos de residente
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum ResidenceTypeCodeType
- {
-
- /// <summary>
- /// Extranjero
- /// </summary>
- E,
-
- /// <summary>
- /// Residente
- /// </summary>
- R,
-
- /// <summary>
- /// Residente en la Union Europea
- /// </summary>
- U,
- }
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class AttachmentType
- {
-
- private AttachmentCompressionAlgorithmType attachmentCompressionAlgorithmField;
-
- private bool attachmentCompressionAlgorithmFieldSpecified;
-
- private AttachmentFormatType attachmentFormatField;
-
- private AttachmentEncodingType attachmentEncodingField;
-
- private bool attachmentEncodingFieldSpecified;
-
- private string attachmentDescriptionField;
-
- private string attachmentDataField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public AttachmentCompressionAlgorithmType AttachmentCompressionAlgorithm
- {
- get
- {
- return this.attachmentCompressionAlgorithmField;
- }
- set
- {
- this.attachmentCompressionAlgorithmField = value;
- }
- }
-
-
- [XmlIgnoreAttribute()]
- public bool AttachmentCompressionAlgorithmSpecified
- {
- get
- {
- return this.attachmentCompressionAlgorithmFieldSpecified;
- }
- set
- {
- this.attachmentCompressionAlgorithmFieldSpecified = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public AttachmentFormatType AttachmentFormat
- {
- get
- {
- return this.attachmentFormatField;
- }
- set
- {
- this.attachmentFormatField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public AttachmentEncodingType AttachmentEncoding
- {
- get
- {
- return this.attachmentEncodingField;
- }
- set
- {
- this.attachmentEncodingField = value;
- }
- }
-
-
- [XmlIgnoreAttribute()]
- public bool AttachmentEncodingSpecified
- {
- get
- {
- return this.attachmentEncodingFieldSpecified;
- }
- set
- {
- this.attachmentEncodingFieldSpecified = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string AttachmentDescription
- {
- get
- {
- return this.attachmentDescriptionField;
- }
- set
- {
- this.attachmentDescriptionField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string AttachmentData
- {
- get
- {
- return this.attachmentDataField;
- }
- set
- {
- this.attachmentDataField = value;
- }
- }
- }
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum AttachmentCompressionAlgorithmType
- {
-
-
- ZIP,
-
-
- GZIP,
-
-
- NONE,
- }
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum AttachmentFormatType
- {
-
-
- xml,
-
-
- doc,
-
-
- gif,
-
-
- rtf,
-
-
- pdf,
-
-
- xls,
-
-
- jpg,
-
-
- bmp,
-
-
- tiff,
- }
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum AttachmentEncodingType
- {
-
-
- BASE64,
-
-
- BER,
-
-
- DER,
-
-
- NONE,
- }
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class AdditionalDataType
- {
-
- private string relatedInvoiceField;
-
- private List<AttachmentType> relatedDocumentsField;
-
- private string invoiceAdditionalInformationField;
-
- private ExtensionsType extensionsField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string RelatedInvoice
- {
- get
- {
- return this.relatedInvoiceField;
- }
- set
- {
- this.relatedInvoiceField = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("Attachment", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<AttachmentType> RelatedDocuments
- {
- get
- {
- return this.relatedDocumentsField;
- }
- set
- {
- this.relatedDocumentsField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string InvoiceAdditionalInformation
- {
- get
- {
- return this.invoiceAdditionalInformationField;
- }
- set
- {
- this.invoiceAdditionalInformationField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public ExtensionsType Extensions
- {
- get
- {
- return this.extensionsField;
- }
- set
- {
- this.extensionsField = value;
- }
- }
- }
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class ExtensionsType
- {
-
- private List<XmlElement> anyField;
-
-
- [XmlAnyElementAttribute()]
- public List<XmlElement> Any
- {
- get
- {
- return this.anyField;
- }
- set
- {
- this.anyField = value;
- }
- }
- }
-
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class AccountType
- {
-
- private string iBANField;
-
- private string bankCodeField;
-
- private string branchCodeField;
-
- private object itemField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string IBAN
- {
- get
- {
- return this.iBANField;
- }
- set
- {
- this.iBANField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string BankCode
- {
- get
- {
- return this.bankCodeField;
- }
- set
- {
- this.bankCodeField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string BranchCode
- {
- get
- {
- return this.branchCodeField;
- }
- set
- {
- this.branchCodeField = value;
- }
- }
-
-
- [XmlElementAttribute("BranchInSpainAddress", typeof(AddressType), Form = XmlSchemaForm.Unqualified)]
- [XmlElementAttribute("OverseasBranchAddress", typeof(OverseasAddressType), Form = XmlSchemaForm.Unqualified)]
- public object Item
- {
- get
- {
- return this.itemField;
- }
- set
- {
- this.itemField = value;
- }
- }
- }
-
- /// <summary>
- /// Clase que representa la base para los apartados de dirección, tanto para AddressInSpain, como para OverSeasAddress
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class AddressType
- {
- /// <summary>
- /// Dirección completa
- /// </summary>
- private string addressField;
-
- /// <summary>
- /// Código Postal
- /// </summary>
- private string postCodeField;
-
- /// <summary>
- /// Población
- /// </summary>
- private string townField;
-
- /// <summary>
- /// Provincia
- /// </summary>
- private string provinceField;
-
- /// <summary>
- /// Código de País
- /// </summary>
- private CountryType countryCodeField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string Address
- {
- get
- {
- return this.addressField;
- }
- set
- {
- this.addressField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string PostCode
- {
- get
- {
- return this.postCodeField;
- }
- set
- {
- this.postCodeField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string Town
- {
- get
- {
- return this.townField;
- }
- set
- {
- this.townField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string Province
- {
- get
- {
- return this.provinceField;
- }
- set
- {
- this.provinceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public CountryType CountryCode
- {
- get
- {
- return this.countryCodeField;
- }
- set
- {
- this.countryCodeField = value;
- }
- }
- }
-
- /// <summary>
- /// Enumerado que brinda los códigos de país contemplados por el esquema de facturae
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum CountryType
- {
-
-
- AFG,
-
-
- ALB,
-
-
- DZA,
-
-
- ASM,
-
-
- AND,
-
-
- AGO,
-
-
- AIA,
-
-
- ATG,
-
-
- ARG,
-
-
- ARM,
-
-
- ABW,
-
-
- AUS,
-
-
- AUT,
-
-
- AZE,
-
-
- BHS,
-
-
- BHR,
-
-
- BGD,
-
-
- BRB,
-
-
- BLR,
-
-
- BEL,
-
-
- BLZ,
-
-
- BEN,
-
-
- BMU,
-
-
- BTN,
-
-
- BOL,
-
-
- BIH,
-
-
- BWA,
-
-
- BRA,
-
-
- BRN,
-
-
- BGR,
-
-
- BFA,
-
-
- BDI,
-
-
- KHM,
-
-
- CMR,
-
-
- CAN,
-
-
- CPV,
-
-
- CYM,
-
-
- CAF,
-
-
- TCD,
-
-
- CHL,
-
-
- CHN,
-
-
- COD,
-
-
- COL,
-
-
- COM,
-
-
- COG,
-
-
- COK,
-
-
- CRI,
-
-
- CIV,
-
-
- HRV,
-
-
- CUB,
-
-
- CYP,
-
-
- CZE,
-
-
- DNK,
-
-
- DJI,
-
-
- DMA,
-
-
- DOM,
-
-
- ECU,
-
-
- EGY,
-
-
- SLV,
-
-
- GNQ,
-
-
- ERI,
-
-
- EST,
-
-
- ETH,
-
-
- FLK,
-
-
- FRO,
-
-
- FJI,
-
-
- FIN,
-
-
- FRA,
-
-
- GUF,
-
-
- PYF,
-
-
- GAB,
-
-
- GMB,
-
-
- GEO,
-
-
- GGY,
-
-
- DEU,
-
-
- GHA,
-
-
- GIB,
-
-
- GRC,
-
-
- GRL,
-
-
- GRD,
-
-
- GLP,
-
-
- GUM,
-
-
- GTM,
-
-
- GIN,
-
-
- GNB,
-
-
- GUY,
-
-
- HTI,
-
-
- HND,
-
-
- HKG,
-
-
- HUN,
-
-
- ISL,
-
-
- IND,
-
-
- IDN,
-
-
- IMN,
-
-
- IRN,
-
-
- IRQ,
-
-
- IRL,
-
-
- ISR,
-
-
- ITA,
-
-
- JAM,
-
-
- JEY,
-
-
- JPN,
-
-
- JOR,
-
-
- KAZ,
-
-
- KEN,
-
-
- KIR,
-
-
- PRK,
-
-
- KOR,
-
-
- KWT,
-
-
- KGZ,
-
-
- LAO,
-
-
- LVA,
-
-
- LBN,
-
-
- LSO,
-
-
- LBR,
-
-
- LBY,
-
-
- LIE,
-
-
- LTU,
-
-
- LUX,
-
-
- MAC,
-
-
- MKD,
-
-
- MDG,
-
-
- MWI,
-
-
- MYS,
-
-
- MDV,
-
-
- MLI,
-
-
- MLT,
-
-
- MHL,
-
-
- MTQ,
-
-
- MRT,
-
-
- MUS,
-
-
- MYT,
-
-
- MEX,
-
-
- FSM,
-
-
- MDA,
-
-
- MCO,
-
-
- MNE,
-
-
- MNG,
-
-
- MSR,
-
-
- MAR,
-
-
- MOZ,
-
-
- MMR,
-
-
- NAM,
-
-
- NRU,
-
-
- NPL,
-
-
- NLD,
-
-
- ANT,
-
-
- NCL,
-
-
- NZL,
-
-
- NIC,
-
-
- NER,
-
-
- NGA,
-
-
- NIU,
-
-
- NFK,
-
-
- MNP,
-
-
- NOR,
-
-
- OMN,
-
-
- PAK,
-
-
- PLW,
-
-
- PAN,
-
-
- PNG,
-
-
- PRY,
-
-
- PSE,
-
-
- PER,
-
-
- PHL,
-
-
- PCN,
-
-
- POL,
-
-
- PRT,
-
-
- PRI,
-
-
- QAT,
-
-
- REU,
-
-
- ROU,
-
-
- RUS,
-
-
- RWA,
-
-
- KNA,
-
-
- LCA,
-
-
- VCT,
-
-
- WSM,
-
-
- SMR,
-
-
- STP,
-
-
- SAU,
-
-
- SEN,
-
-
- SRB,
-
-
- SYC,
-
-
- SLE,
-
-
- SGP,
-
-
- SVK,
-
-
- SVN,
-
-
- SLB,
-
-
- SOM,
-
-
- ZAF,
-
-
- ESP,
-
-
- LKA,
-
-
- SHN,
-
-
- SPM,
-
-
- SDN,
-
-
- SUR,
-
-
- SJM,
-
-
- SWZ,
-
-
- SWE,
-
-
- CHE,
-
-
- SYR,
-
-
- TWN,
-
-
- TJK,
-
-
- TZA,
-
-
- THA,
-
-
- TGO,
-
-
- TKL,
-
-
- TON,
-
-
- TTO,
-
-
- TUN,
-
-
- TUR,
-
-
- TKM,
-
-
- TLS,
-
-
- TCA,
-
-
- TUV,
-
-
- UGA,
-
-
- UKR,
-
-
- ARE,
-
-
- GBR,
-
-
- USA,
-
-
- URY,
-
-
- UZB,
-
-
- VUT,
-
-
- VAT,
-
-
- VEN,
-
-
- VNM,
-
-
- VGB,
-
-
- VIR,
-
-
- WLF,
-
-
- ESH,
-
-
- YEM,
-
-
- ZAR,
-
-
- ZMB,
-
-
- ZWE,
- }
- /// <summary>
- /// Tipo de Dirección que se utiliza para las partes(SellerParty, BuyerParty, ThirdParty), cuyo código de país es diferente a ESP
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class OverseasAddressType
- {
-
- private string addressField;
-
- private string postCodeAndTownField;
-
- private string provinceField;
-
- private CountryType countryCodeField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string Address
- {
- get
- {
- return this.addressField;
- }
- set
- {
- this.addressField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string PostCodeAndTown
- {
- get
- {
- return this.postCodeAndTownField;
- }
- set
- {
- this.postCodeAndTownField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string Province
- {
- get
- {
- return this.provinceField;
- }
- set
- {
- this.provinceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public CountryType CountryCode
- {
- get
- {
- return this.countryCodeField;
- }
- set
- {
- this.countryCodeField = value;
- }
- }
- }
-
- /// <summary>
- /// Clase que representa al bloque de información del pago de la factura,
- /// contempla aspectos como: fecha de pago, importe a pagar, medio de pago, datos de la cuenta y otros.
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class InstallmentType
- {
-
- private DateTime installmentDueDateField;
-
- private string installmentAmountField;
-
- private string paymentMeansField;
-
- private AccountType accountToBeCreditedField;
-
- private string paymentReconciliationReferenceField;
-
- private AccountType accountToBeDebitedField;
-
- private string collectionAdditionalInformationField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified, DataType = "date")]
- public DateTime InstallmentDueDate
- {
- get
- {
- return this.installmentDueDateField;
- }
- set
- {
- this.installmentDueDateField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string InstallmentAmount
- {
- get
- {
- return this.installmentAmountField;
- }
- set
- {
- this.installmentAmountField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string PaymentMeans
- {
- get
- {
- return this.paymentMeansField;
- }
- set
- {
- this.paymentMeansField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public AccountType AccountToBeCredited
- {
- get
- {
- return this.accountToBeCreditedField;
- }
- set
- {
- this.accountToBeCreditedField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string PaymentReconciliationReference
- {
- get
- {
- return this.paymentReconciliationReferenceField;
- }
- set
- {
- this.paymentReconciliationReferenceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public AccountType AccountToBeDebited
- {
- get
- {
- return this.accountToBeDebitedField;
- }
- set
- {
- this.accountToBeDebitedField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string CollectionAdditionalInformation
- {
- get
- {
- return this.collectionAdditionalInformationField;
- }
- set
- {
- this.collectionAdditionalInformationField = value;
- }
- }
- }
-
- /// <summary>
- /// Enumerado que brinda el código para los diferentes tipos de pago contemplados en el esquema de facturae
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum PaymentMeansType
- {
-
-
- [XmlEnumAttribute("01")]
- Item01,
-
-
- [XmlEnumAttribute("02")]
- Item02,
-
-
- [XmlEnumAttribute("03")]
- Item03,
-
-
- [XmlEnumAttribute("04")]
- Item04,
-
-
- [XmlEnumAttribute("05")]
- Item05,
-
-
- [XmlEnumAttribute("06")]
- Item06,
-
-
- [XmlEnumAttribute("07")]
- Item07,
-
-
- [XmlEnumAttribute("08")]
- Item08,
-
-
- [XmlEnumAttribute("09")]
- Item09,
-
-
- [XmlEnumAttribute("10")]
- Item10,
-
-
- [XmlEnumAttribute("11")]
- Item11,
-
-
- [XmlEnumAttribute("12")]
- Item12,
-
-
- [XmlEnumAttribute("13")]
- Item13,
-
-
- [XmlEnumAttribute("14")]
- Item14,
-
-
- [XmlEnumAttribute("15")]
- Item15,
-
-
- [XmlEnumAttribute("16")]
- Item16,
-
-
- [XmlEnumAttribute("17")]
- Item17,
-
-
- [XmlEnumAttribute("18")]
- Item18,
-
-
- [XmlEnumAttribute("19")]
- Item19,
- }
-
-
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class DeliveryNoteType
- {
-
- private string deliveryNoteNumberField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string DeliveryNoteNumber
- {
- get
- {
- return this.deliveryNoteNumberField;
- }
- set
- {
- this.deliveryNoteNumberField = value;
- }
- }
- }
-
- /// <summary>
- /// clase que representa las lineas de detalle dentro de la facturae
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class InvoiceLineType
- {
-
- private string issuerContractReferenceField;
-
- private string issuerTransactionReferenceField;
-
- private string receiverContractReferenceField;
-
- private string receiverTransactionReferenceField;
-
- private string purchaseOrderReferenceField;
-
- private bool purchaseOrderReferenceFieldSpecified;
-
- private List<DeliveryNoteType> deliveryNotesReferencesField;
-
- private string itemDescriptionField;
-
- private string quantityField;
-
- private UnitOfMeasureType unitOfMeasureField;
-
- private bool unitOfMeasureFieldSpecified;
-
- private string unitPriceWithoutTaxField;
-
- private string totalCostField;
-
- private List<DiscountType> discountsAndRebatesField;
-
- private List<ChargeType> chargesField;
-
- private string grossAmountField;
-
- private List<TaxType> taxesWithheldField;
-
- private List<InvoiceLineTypeTax> taxesOutputsField;
-
- private PeriodDates lineItemPeriodField;
-
- private DateTime transactionDateField;
-
- private bool transactionDateFieldSpecified;
-
- private string additionalLineItemInformationField;
-
- private ExtensionsType extensionsField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string IssuerContractReference
- {
- get
- {
- return this.issuerContractReferenceField;
- }
- set
- {
- this.issuerContractReferenceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string IssuerTransactionReference
- {
- get
- {
- return this.issuerTransactionReferenceField;
- }
- set
- {
- this.issuerTransactionReferenceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string ReceiverContractReference
- {
- get
- {
- return this.receiverContractReferenceField;
- }
- set
- {
- this.receiverContractReferenceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string ReceiverTransactionReference
- {
- get
- {
- return this.receiverTransactionReferenceField;
- }
- set
- {
- this.receiverTransactionReferenceField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string PurchaseOrderReference
- {
- get
- {
- return this.purchaseOrderReferenceField;
- }
- set
- {
- this.purchaseOrderReferenceField = value;
- }
- }
-
-
- [XmlIgnoreAttribute()]
- public bool PurchaseOrderReferenceSpecified
- {
- get
- {
- return this.purchaseOrderReferenceFieldSpecified;
- }
- set
- {
- this.purchaseOrderReferenceFieldSpecified = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("DeliveryNote", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<DeliveryNoteType> DeliveryNotesReferences
- {
- get
- {
- return this.deliveryNotesReferencesField;
- }
- set
- {
- this.deliveryNotesReferencesField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string ItemDescription
- {
- get
- {
- return this.itemDescriptionField;
- }
- set
- {
- this.itemDescriptionField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string Quantity
- {
- get
- {
- return this.quantityField;
- }
- set
- {
- this.quantityField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public UnitOfMeasureType UnitOfMeasure
- {
- get
- {
- return this.unitOfMeasureField;
- }
- set
- {
- this.unitOfMeasureField = value;
- }
- }
-
-
- [XmlIgnoreAttribute()]
- public bool UnitOfMeasureSpecified
- {
- get
- {
- return this.unitOfMeasureFieldSpecified;
- }
- set
- {
- this.unitOfMeasureFieldSpecified = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string UnitPriceWithoutTax
- {
- get
- {
- return this.unitPriceWithoutTaxField;
- }
- set
- {
- this.unitPriceWithoutTaxField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string TotalCost
- {
- get
- {
- return this.totalCostField;
- }
- set
- {
- this.totalCostField = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("Discount", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<DiscountType> DiscountsAndRebates
- {
- get
- {
- return this.discountsAndRebatesField;
- }
- set
- {
- this.discountsAndRebatesField = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("Charge", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<ChargeType> Charges
- {
- get
- {
- return this.chargesField;
- }
- set
- {
- this.chargesField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string GrossAmount
- {
- get
- {
- return this.grossAmountField;
- }
- set
- {
- this.grossAmountField = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("Tax", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<TaxType> TaxesWithheld
- {
- get
- {
- return this.taxesWithheldField;
- }
- set
- {
- this.taxesWithheldField = value;
- }
- }
-
-
- [XmlArrayAttribute(Form = XmlSchemaForm.Unqualified)]
- [XmlArrayItemAttribute("Tax", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
- public List<InvoiceLineTypeTax> TaxesOutputs
- {
- get
- {
- return this.taxesOutputsField;
- }
- set
- {
- this.taxesOutputsField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public PeriodDates LineItemPeriod
- {
- get
- {
- return this.lineItemPeriodField;
- }
- set
- {
- this.lineItemPeriodField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified, DataType = "date")]
- public DateTime TransactionDate
- {
- get
- {
- return this.transactionDateField;
- }
- set
- {
- this.transactionDateField = value;
- }
- }
-
-
- [XmlIgnoreAttribute()]
- public bool TransactionDateSpecified
- {
- get
- {
- return this.transactionDateFieldSpecified;
- }
- set
- {
- this.transactionDateFieldSpecified = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string AdditionalLineItemInformation
- {
- get
- {
- return this.additionalLineItemInformationField;
- }
- set
- {
- this.additionalLineItemInformationField = value;
- }
- }
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public ExtensionsType Extensions
- {
- get
- {
- return this.extensionsField;
- }
- set
- {
- this.extensionsField = value;
- }
- }
- }
-
- /// <summary>
- /// Enumerado que brinda los códigos para las diferentes unidades de medida, contemplados en el esquema de facturae
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public enum UnitOfMeasureType
- {
-
-
- [XmlEnumAttribute("01")]
- Item01,
-
-
- [XmlEnumAttribute("02")]
- Item02,
-
-
- [XmlEnumAttribute("03")]
- Item03,
-
-
- [XmlEnumAttribute("04")]
- Item04,
-
-
- [XmlEnumAttribute("05")]
- Item05,
-
-
- [XmlEnumAttribute("06")]
- Item06,
-
-
- [XmlEnumAttribute("07")]
- Item07,
-
-
- [XmlEnumAttribute("08")]
- Item08,
-
-
- [XmlEnumAttribute("09")]
- Item09,
-
-
- [XmlEnumAttribute("10")]
- Item10,
-
-
- [XmlEnumAttribute("11")]
- Item11,
-
-
- [XmlEnumAttribute("12")]
- Item12,
-
-
- [XmlEnumAttribute("13")]
- Item13,
-
-
- [XmlEnumAttribute("14")]
- Item14,
-
-
- [XmlEnumAttribute("15")]
- Item15,
-
-
- [XmlEnumAttribute("16")]
- Item16,
-
-
- [XmlEnumAttribute("17")]
- Item17,
-
-
- [XmlEnumAttribute("18")]
- Item18,
-
-
- [XmlEnumAttribute("19")]
- Item19,
-
-
- [XmlEnumAttribute("20")]
- Item20,
-
-
- [XmlEnumAttribute("21")]
- Item21,
-
-
- [XmlEnumAttribute("22")]
- Item22,
-
-
- [XmlEnumAttribute("23")]
- Item23,
-
-
- [XmlEnumAttribute("24")]
- Item24,
-
-
- [XmlEnumAttribute("25")]
- Item25,
-
-
- [XmlEnumAttribute("26")]
- Item26,
-
-
- [XmlEnumAttribute("27")]
- Item27,
-
-
- [XmlEnumAttribute("28")]
- Item28,
-
-
- [XmlEnumAttribute("29")]
- Item29,
-
-
- [XmlEnumAttribute("30")]
- Item30,
-
-
- [XmlEnumAttribute("31")]
- Item31,
-
-
- [XmlEnumAttribute("32")]
- Item32,
- }
-
- /// <summary>
- /// Clase que representa los descuentos generales, especifica la razón del descuento, el porcentaje a aplicar sobre el importe total bruto y el importe a descontar
- /// </summary>
- [GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
- [SerializableAttribute()]
- [DebuggerStepThroughAttribute()]
- [DesignerCategoryAttribute("code")]
- [XmlTypeAttribute(Namespace = "http://www.facturae.es/Facturae/2007/v3.1/Facturae")]
- public partial class DiscountType
- {
- /// <summary>
- /// Razón o motivo del descuento
- /// </summary>
- private string discountReasonField;
-
- /// <summary>
- /// Porcentaje del descueto
- /// </summary>
- private string discountRateField;
-
- /// <summary>
- /// indica si se debe especificar el descuento en el archivo xml
- /// </summary>
- private bool discountRateFieldSpecified;
-
- /// <summary>
- /// importe a descontar
- /// </summary>
- private string discountAmountField;
-
-
- [XmlElementAttribute(Form = XmlSchemaForm.Unqualified)]
- public string DiscountReason
- {…