@facturacr/atv-sdk
Version:
Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.
163 lines • 6.59 kB
text/xml
<xs:schema xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.4/mensajeReceptor" 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.4/mensajeReceptor" elementFormDefault="qualified" attributeFormDefault="unqualified" version="4.4" vc:minVersion="1.1">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="../../xmldsig-core-schema.xsd"/>
<xs:element name="MensajeReceptor">
<xs:annotation>
<xs:documentation>Mensaje de aceptacion o rechazo de los documentos electronicos por parte del obligado tributario</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="NumeroCedulaEmisor">
<xs:annotation>
<xs:documentation>Número de cédula fisica/jurídica/NITE/DIMEX/Extranjero No Domiciliado/No Contribuyente del vendedor</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="FechaEmisionDoc" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Fecha de emision de la confirmación</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Mensaje">
<xs:annotation>
<xs:documentation>Codigo del mensaje de respuesta. 1 aceptado, 2 aceptado parcialmente, 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="2">
<xs:annotation>
<xs:documentation>Aceptado Parcialmente</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" minOccurs="0">
<xs:annotation>
<xs:documentation>Detalle del mensaje</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="160"/>
</xs:restriction>
</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="CodigoActividad" minOccurs="0">
<xs:annotation>
<xs:documentation>Código Actividad Económica</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CondicionImpuesto" minOccurs="0">
<xs:annotation>
<xs:documentation>Condición del IVA. 01 General Credito IVA, 02 General Crédito parcial del IVA, 03 Bienes de Capital, 04 Gasto corriente no genera crédito, 05 Proporcionalidad</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01"/>
<xs:enumeration value="02"/>
<xs:enumeration value="03"/>
<xs:enumeration value="04"/>
<xs:enumeration value="05"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MontoTotalImpuestoAcreditar" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Monto del Impuesto acreditar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MontoTotalDeGastoAplicable" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Monto total del gasto a aplicar </xs:documentation>
</xs:annotation>
</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 name="NumeroCedulaReceptor">
<xs:annotation>
<xs:documentation>Número de cédula fisica/jurídica/NITE/DIMEX/Extranjero No Domiciliado/No Contribuyente del comprador</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
<xs:pattern value="\d{9,12}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumeroConsecutivoReceptor">
<xs:annotation>
<xs:documentation>Numeración consecutiva de los mensajes de confirmación</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
<xs:pattern value="\d{20,20}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="DecimalDineroType">
<xs:annotation>
<xs:documentation>Tipo de dato decimal para representar los valores de dinero.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="5"/>
<xs:maxInclusive value="9999999999999.99999"/>
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>