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.

136 lines (135 loc) 3.41 kB
export interface Impuesto { Codigo: string; CodigoTarifa: string; Tarifa: number; Monto?: number; } export interface LineaDetalle { NumeroLinea?: string; Codigo?: string; Cantidad?: number; UnidadMedida?: string; Detalle: string; PrecioUnitario: number; MontoTotal?: number; SubTotal?: number; BaseImponible?: number; Impuesto?: Impuesto; MontoTotalLinea?: number; } export interface DetalleServicio { LineaDetalle: Array<LineaDetalle>; } export interface Resumen { CodigoTipoMoneda?: { CodigoMoneda: string; TipoCambio: string; }; TotalServGravados: number; TotalServExentos: number; TotalMercanciasGravadas?: number; TotalMercanciasExentas?: number; TotalGravado?: number; TotalExento: number; TotalExonerado: number; TotalVenta: number; TotalDescuentos?: number; TotalVentaNeta?: number; TotalImpuesto: number; TotalComprobante: number; } export interface Persona { Nombre: string; Identificacion: { Tipo?: '01' | '02'; Numero: string; }; NombreComercial?: string; Ubicacion?: { Provincia?: '1' | '2' | '3' | '4' | '5' | '6' | '7'; Canton?: string; Distrito?: string; Barrio?: string; OtrasSenas?: string; }; Telefono?: { CodigoPais?: string; NumTelefono?: string; }; Fax?: { CodigoPais?: string; NumTelefono?: string; }; CorreoElectronico?: string; } export interface Message { Mensaje: string; DetalleMensaje: string; } export interface InformacionReferencia { TipoDoc: string; Numero: string; FechaEmision: string; Codigo: string; Razon: string; } export interface Document { Clave: string; CodigoActividad: string; NumeroConsecutivo: string; FechaEmision?: string; Emisor: Persona; Receptor: Persona; CondicionVenta?: string; PlazoCredito?: string; MedioPago?: string; DetalleServicio?: DetalleServicio; ResumenFactura: Resumen; Otros?: { OtroTexto: string; }; InformacionReferencia?: InformacionReferencia; } export interface XMLRawDocument extends Document { } interface MensajeReceptor { Clave: string; NumeroCedulaEmisor: string; FechaEmisionDoc: string; Mensaje: string; DetalleMensaje: string; MontoTotalImpuesto: number; CodigoActividad: string; CondicionImpuesto: string; MontoTotalDeGastoAplicable: number; TotalFactura: number; NumeroCedulaReceptor: string; NumeroConsecutivoReceptor: string; } export interface InvoiceDocumentContainer { [key: string]: Document | MensajeReceptor; } export type ConfirmationMessageRaw = { MensajeHacienda: { Clave: string; NombreEmisor: string; TipoIdentificacionEmisor: string; NumeroCedulaEmisor: string; TipoIdentificacionReceptor: string; NumeroCedulaReceptor: string; Mensaje: string; DetalleMensaje: string; MontoTotalImpuesto: string; TotalFactura: string; '@_xmlns': string; 'ds:Signature': { '@_xmlns:ds': string; '@_Id': string; 'ds:SignedInfo': unknown; 'ds:SignatureValue': unknown; 'ds:KeyInfo': unknown; 'ds:Object': unknown; }; }; }; export {};