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.

163 lines 6.59 kB
<?xml version="1.0" encoding="UTF-8"?> <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>