UNPKG

@facturacr/atv-sdk

Version:

Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.

180 lines (179 loc) 6.8 kB
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/mensajeHacienda" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/mensajeHacienda" elementFormDefault="qualified" attributeFormDefault="unqualified" version="4.3" vc:minVersion="1.1"> <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="../../xmldsig-core-schema.xsd"/> <xs:element name="MensajeHacienda"> <xs:annotation> <xs:documentation>Mensaje de uso exclusivo por parte de la Direccion General de Tributación</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Clave"> <xs:annotation> <xs:documentation>Clave numérica del comprobante</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="\d{50,50}"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="NombreEmisor"> <xs:annotation> <xs:documentation>Nombre o razón social del emisor</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="100"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="TipoIdentificacionEmisor" nillable="false"> <xs:annotation> <xs:documentation>Tipo de identificacion: 01 Cedula Fisica, 02 Cedula Juridica, 03 DIMEX, 04 NITE</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="01"> <xs:annotation> <xs:documentation>Cedula Fisica</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="02"> <xs:annotation> <xs:documentation> Cedula Juridica</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="03"> <xs:annotation> <xs:documentation>DIMEX</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="04"> <xs:annotation> <xs:documentation>NITE</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="NumeroCedulaEmisor"> <xs:annotation> <xs:documentation>Número de cédula fisica/jurídica/NITE/DIMEX del emisor</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="12"/> <xs:pattern value="\d{9,12}"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="NombreReceptor" nillable="false" minOccurs="0"> <xs:annotation> <xs:documentation>Nombre o razon social del receptor</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="100"/> <xs:minLength value="0"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="TipoIdentificacionReceptor" nillable="true" minOccurs="0"> <xs:annotation> <xs:documentation>Tipo de identificacion: 01 Cedula Fisica, 02 Cedula Juridica, 03 DIMEX, 04 NITE, 05 Otros</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="01"> <xs:annotation> <xs:documentation>Cedula Fisica</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="02"> <xs:annotation> <xs:documentation> Cedula Juridica</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="03"> <xs:annotation> <xs:documentation>DIMEX</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="04"> <xs:annotation> <xs:documentation>NITE</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="05"> <xs:annotation> <xs:documentation>Otros</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="NumeroCedulaReceptor" nillable="true" minOccurs="0"> <xs:annotation> <xs:documentation>Número de cédula fisica/jurídica/NITE/DIMEX del receptor</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="12"/> <xs:pattern value="\d{9,12}"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Mensaje"> <xs:annotation> <xs:documentation>Codigo del mensaje de respuesta. 1 aceptado, 3 rechazado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:enumeration value="1"> <xs:annotation> <xs:documentation>Aceptado</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="3"> <xs:annotation> <xs:documentation>Rechazado</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="DetalleMensaje"> <xs:annotation> <xs:documentation>Detalle del mensaje</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"/> </xs:simpleType> </xs:element> <xs:element name="MontoTotalImpuesto" minOccurs="0"> <xs:annotation> <xs:documentation>Monto total del impuesto, que es obligatorio si el comprobante tenga impuesto.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="18"/> <xs:fractionDigits value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="TotalFactura"> <xs:annotation> <xs:documentation>Monto total de la factura</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="18"/> <xs:fractionDigits value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element ref="ds:Signature" minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>