UNPKG

dte

Version:

Clases que representan los DTE descritos por el SII

434 lines (433 loc) 16.2 kB
import { FirmaElectronica } from './firma_electronica'; export declare namespace BoletaElectronica { /**Envio de Boletas Electronicas. */ class EnvioBOLETA { version: string; /**Conjunto de Boletas enviadas. */ SetDTE: SetDTE; /***/ Signature: FirmaElectronica.Signature; ParseFromXMLElement: (Node: Element) => void; } /**Conjunto de Boletas enviadas. */ class SetDTE { ID: string; /**Resumen de Informacion Enviada. */ Caratula: Caratula; /**Boletas Electronicas Enviadas. */ DTE: DTE[]; ParseFromXMLElement: (Node: Element) => void; } /**Resumen de Informacion Enviada. */ class Caratula { version: string; /**RUT Emisor de las Boletas. */ RutEmisor: string; /**RUT que envia las Boletas. */ RutEnvia: string; /**RUT al que se le envian las Boletas. */ RutReceptor: string; /**Fecha de Resolucion que Autoriza la Emision de Boletas (AAAA-MM-DD). */ FchResol: Date; /**Numero de Resolucion que Autoriza la Emision de Boletas. */ NroResol: number; /**Fecha y Hora de la Firma del Archivo de Envio. */ TmstFirmaEnv: Date; /**Subtotales de Boletas Enviadas. */ SubTotDTE: SubTotDTE[]; ParseFromXMLElement: (Node: Element) => void; } /**Subtotales de Boletas Enviadas. */ class SubTotDTE { /**Tipo de Boleta Enviada. */ TpoDTE: DTEType; /**Numero de Boletas Enviadas. */ NroDTE: number; ParseFromXMLElement: (Node: Element) => void; } /**Tipos de Documentos Tributarios Electronicos. */ enum DTEType { BoletaElectronica = 39, BoletaExentaElectronica = 41, BoletaFisica = 35, } /**Boletas Electronicas Enviadas. */ class DTE { version: string; /**Informacion Tributaria de la Boleta. */ Documento: Documento; /***/ Signature: FirmaElectronica.Signature; ParseFromXMLElement: (Node: Element) => void; } /**Informacion Tributaria de la Boleta. */ class Documento { ID: string; /**Identificacion y Totales del Documento. */ Encabezado: DocumentoEncabezado; /**Detalle de Itemes del Documento. */ Detalle: DocumentoDetalle[]; /**Opcional. Subtotales Informativos. */ SubTotInfo: DocumentoSubTotInfo[]; /**Opcional. Descuentos y/o Recargos que afectan al total del Documento. */ DscRcgGlobal: DocumentoDscRcgGlobal[]; /**Opcional. Identificacion de otros documentos Referenciados por Documento. */ Referencia: DocumentoReferencia[]; /**Timbre Electronico de la Boleta. */ TED: DocumentoTED; /**Fecha y Hora en que se Firmo Digitalmente el Documento AAAA-MM-DDTHH:MI:SS. */ TmstFirma: Date; ParseFromXMLElement: (Node: Element) => void; } /**Identificacion y Totales del Documento. */ class DocumentoEncabezado { /**Identificacion del DTE. */ IdDoc: DocumentoIdDoc; /**Datos del Emisor. */ Emisor: DocumentoEmisor; /**Datos del Receptor. */ Receptor: DocumentoReceptor; /**Montos Totales del DTE. */ Totales: DocumentoTotales; ParseFromXMLElement: (Node: Element) => void; } /**Identificacion del DTE. */ class DocumentoIdDoc { /**Tipo de Boleta. */ TipoDTE: DTEType; /**Folio del Documento Electronico. */ Folio: number; /**Fecha Emision Contable del DTE (AAAA-MM-DD). */ FchEmis: Date; /**Indica el Tipo de Transaccion. */ IndServicio: DocumentoIndServicio; /**Opcional. Indica el Uso de Montos Netos en Detalle. */ IndMntNeto: DocumentoIndMntNeto; /**Opcional. Periodo de Facturacion - Desde (AAAA-MM-DD). */ PeriodoDesde: Date; /**Opcional. Periodo Facturacion - Hasta (AAAA-MM-DD). */ PeriodoHasta: Date; /**Opcional. Fecha de Vencimiento del Pago (AAAA-MM-DD). */ FchVenc: Date; ParseFromXMLElement: (Node: Element) => void; } /***/ enum DocumentoIndServicio { BoletadeServiciosPeriodicos = 1, BoletadeServiciosPeriodicosDomiciliarios = 2, BoletadeVentasyServicio = 3, BoletadeEspectáculoemitidaporcuentadeTerceros = 4, } /***/ enum DocumentoIndMntNeto { MontodeLineasdeDetalleCorrespondeaValoresNetos = 2, } /**Datos del Emisor. */ class DocumentoEmisor { /**RUT del Emisor del DTE. */ RUTEmisor: string; /**Opcional. Nombre o Razon Social del Emisor. */ RznSocEmisor: string; /**Opcional. Giro del Emisor que Corresponde a la Transaccion. */ GiroEmisor: string; /**Opcional. Codigo de Sucursal Entregado por el SII. */ CdgSIISucur: number; /**Opcional. Direccion de Origen o Emision. */ DirOrigen: string; /**Opcional. Comuna de Origen. */ CmnaOrigen: string; /**Opcional. Ciudad de Origen. */ CiudadOrigen: string; ParseFromXMLElement: (Node: Element) => void; } /**Datos del Receptor. */ class DocumentoReceptor { /**RUT del Receptor del DTE. */ RUTRecep: string; /**Opcional. Codigo Interno del Receptor. */ CdgIntRecep: string; /**Opcional. Nombre o Razon Social del Receptor. */ RznSocRecep: string; /**Opcional. Telefono o E-mail de Contacto del Receptor. */ Contacto: string; /**Opcional. Direccion en la Cual se Envian los Productos o se Prestan los Servicios. */ DirRecep: string; /**Opcional. Comuna de Recepcion. */ CmnaRecep: string; /**Opcional. Ciudad de Recepcion. */ CiudadRecep: string; /**Opcional. Direccion Postal. */ DirPostal: string; /**Opcional. Comuna Postal. */ CmnaPostal: string; /**Opcional. Ciudad Postal. */ CiudadPostal: string; ParseFromXMLElement: (Node: Element) => void; } /**Montos Totales del DTE. */ class DocumentoTotales { /**Opcional. Monto Neto. */ MntNeto: number; /**Opcional. Monto Exento. */ MntExe: number; /**Opcional. Monto de IVA. */ IVA: number; /**Monto Total. */ MntTotal: number; /**Opcional. Monto No Facturable - Corresponde a Bienes o Servicios Facturados Previamente. */ MontoNF: number; /**Opcional. Total de Ventas o Servicios del Periodo. */ TotalPeriodo: number; /**Opcional. Saldo Anterior - Puede ser Negativo o Positivo. */ SaldoAnterior: number; /**Opcional. Valor a Pagar Total del Documento. */ VlrPagar: number; ParseFromXMLElement: (Node: Element) => void; } /**Detalle de Itemes del Documento. */ class DocumentoDetalle { /**Numero Secuencial de Linea. */ NroLinDet: number; /**Opcional. Codificacion del Item. */ CdgItem: DocumentoCdgItem[]; /**Opcional. Indicador de Exencion/Facturacion. */ IndExe: DocumentoIndExe; /**Opcional. Indica si el ítem es : 01: TICKET 02: VALOR SERVICIO. */ ItemEspectaculo: DocumentoItemEspectaculo; /**Opcional. Rut de la Empresa Mandante de la Boleta. */ RUTMandante: string; /**Nombre del Item. */ NmbItem: string; /**Opcional. Informacion de la entrada. */ InfoTicket: DocumentoInfoTicket; /**Opcional. Descripcion del Item. */ DscItem: string; /**Opcional. Cantidad del Item. */ QtyItem: number; /**Opcional. Unidad de Medida. */ UnmdItem: string; /**Opcional. Precio Unitario del Item en Pesos. */ PrcItem: number; /**Opcional. Porcentaje de Descuento. */ DescuentoPct: number; /**Opcional. Monto de Descuento. */ DescuentoMonto: number; /**Opcional. Porcentaje de Recargo. */ RecargoPct: number; /**Opcional. Monto de Recargo. */ RecargoMonto: number; /**Monto por Linea de Detalle. Corresponde al Monto Bruto, a menos que IndMntNeto Indique lo Contrario . */ MontoItem: number; ParseFromXMLElement: (Node: Element) => void; } /***/ enum DocumentoIndExe { ProductooServicioesExentooNoAfecto = 1, ElProductooServicioNOESFacturable = 2, N_6 = 6, } /***/ enum DocumentoItemEspectaculo { ProductooServicioesExentooNoAfecto = 1, ElProductooServicioNOESFacturable = 2, } /**Codificacion del Item. */ class DocumentoCdgItem { /**Tipo de Codificacion. */ TpoCodigo: string; /**Valor del Codigo de Item, para la Codificacion Particular. */ VlrCodigo: string; ParseFromXMLElement: (Node: Element) => void; } /**Informacion de la entrada. */ class DocumentoInfoTicket { /**Corresponde a la numeración única para el evento.. */ FolioTicket: number; /**Corresponde a la fecha y hora de generación del ticket (AAAA-MM-DDThh:mm:ss). */ FchGenera: Date; /**Nombre del Espectáculo. */ NmbEvento: string; /**Tipo de ticket, Por ejemplo: Adulto, Niño, etc. */ TpoTiket: string; /**Código asociado al Evento. */ CdgEvento: string; /**Fecha y hora de realización del evento AAAA-MM-DDThh:mm:ss). */ FchEvento: Date; /**Dirección o identificación del recinto donde se realizará el Espectáculo. */ LugarEvento: string; /**Sector/Sección de la ubicación en el evento. */ UbicEvento: string; /**Opcional. Fila correspondiente a la Ubicación en el evento. */ FilaUbicEvento: string; /**Opcional. N° de Asiento correspondiente a la Ubicación en el evento. */ AsntoUbicEvento: string; ParseFromXMLElement: (Node: Element) => void; } /**Subtotales Informativos. */ class DocumentoSubTotInfo { /**Número de Subtotal . */ NroSTI: number; /**Opcional. Glosa. */ GlosaSTI: string; /**Ubicación para Impresión . */ OrdenSTI: number; /**Opcional. Valor Neto del Subtotal. */ SubTotNetoSTI: number; /**Opcional. Valor del IVA del Subtotal. */ SubTotIVASTI: number; /**Opcional. Valor de los Impuestos adicionales o específicos del Subtotal. */ SubTotAdicSTI: number; /**Opcional. Valor no Afecto o Exento del Subtotal. */ SubTotExeSTI: number; /**Opcional. Valor de la línea de subtotal. */ ValSubtotSTI: number; /**Opcional. TABLA de Líneas de Detalle que se agrupan en el Subtotal. */ LineasDeta: number[]; ParseFromXMLElement: (Node: Element) => void; } /**Descuentos y/o Recargos que afectan al total del Documento. */ class DocumentoDscRcgGlobal { /**Numero Secuencial de Linea. */ NroLinDR: number; /**Tipo de Movimiento. */ TpoMov: DocumentoTpoMov; /**Opcional. Descripcion del Descuento o Recargo. */ GlosaDR: string; /**Unidad en que se Expresa el Valor. */ TpoValor: DocumentoTpoValor; /**Valor del Descuento o Recargo. */ ValorDR: number; /**Opcional. Indica si el Descuento o Recargo Afecta a Itemes Exentos o No Facturables. */ IndExeDR: DocumentoIndExeDR; ParseFromXMLElement: (Node: Element) => void; } type DocumentoTpoMov = 'D' | 'R'; type DocumentoTpoValor = '%' | '$'; /***/ enum DocumentoIndExeDR { AfectaaProductosExentosoNoAfectos = 1, AfectaaProductosNoFacturables = 2, } /**Identificacion de otros documentos Referenciados por Documento. */ class DocumentoReferencia { /**Numero Secuencial de Linea de Referencia. */ NroLinRef: number; /**Opcional. Codigo Interno del Tipo de Referencia. */ CodRef: string; /**Opcional. Razon Explicita por la que se Referencia el Documento. */ RazonRef: string; /**Opcional. Código del Vendedor establecido por la Empresa. Puede estar asociado a INTERNET. */ CodVndor: string; /**Opcional. Código de la caja establecido por la Empresa. */ CodCaja: string; ParseFromXMLElement: (Node: Element) => void; } /**Timbre Electronico de la Boleta. */ class DocumentoTED { version: string; /**Datos Basicos de Documento. */ DD: DocumentoDD; /**Valor de Firma Digital sobre DD. */ FRMT: DocumentoFRMT; ParseFromXMLElement: (Node: Element) => void; } /**Datos Basicos de Documento. */ class DocumentoDD { /**RUT Emisor. */ RE: string; /**Tipo DTE. */ TD: DTEType; /**Folio DTE. */ F: number; /**Fecha Emision DTE en Formato AAAA-MM-DD. */ FE: Date; /**RUT Receptor. */ RR: string; /**Razon Sociall Receptor. */ RSR: string; /**Monto Total DTE. */ MNT: number; /**Descripcion Primer Item de Detalle. */ IT1: string; /**Codigo Autorizacion Folios. */ CAF: DocumentoCAF; /**TimeStamp de Generacion del Timbre. */ TSTED: Date; ParseFromXMLElement: (Node: Element) => void; } /**Codigo Autorizacion Folios. */ class DocumentoCAF { version: string; /**Datos de Autorizacion de Folios. */ DA: DocumentoDA; /**Firma Digital (RSA) del SII Sobre DA. */ FRMA: DocumentoFRMA; ParseFromXMLElement: (Node: Element) => void; } /**Datos de Autorizacion de Folios. */ class DocumentoDA { /**RUT Emisor. */ RE: string; /**Razon Social Emisor. */ RS: string; /**Tipo DTE. */ TD: DTEType; /**Rango Autorizado de Folios. */ RNG: DocumentoRNG; /**Fecha Autorizacion en Formato AAAA-MM-DD. */ FA: Date; /**Opcional. Clave Publica RSA del Solicitante. */ RSAPK: DocumentoRSAPK; /**Opcional. Clave Publica DSA del Solicitante. */ DSAPK: DocumentoDSAPK; /**Identificador de Llave. */ IDK: number; ParseFromXMLElement: (Node: Element) => void; } /**Rango Autorizado de Folios. */ class DocumentoRNG { /**Folio Inicial (Desde). */ D: number; /**Folio Final (Hasta). */ H: number; ParseFromXMLElement: (Node: Element) => void; } /**Clave Publica RSA del Solicitante. */ class DocumentoRSAPK { /**Modulo RSA. */ M: string; /**Exponente RSA. */ E: string; ParseFromXMLElement: (Node: Element) => void; } /**Clave Publica DSA del Solicitante. */ class DocumentoDSAPK { /**Modulo Primo. */ P: string; /**Entero Divisor de P - 1. */ Q: string; /**Entero f(P, Q). */ G: string; /**G**X mod P. */ Y: string; ParseFromXMLElement: (Node: Element) => void; } /**Firma Digital (RSA) del SII Sobre DA. */ class DocumentoFRMA { algoritmo: string; /**Opcional. */ valor: string; ParseFromXMLElement: (Node: Element) => void; } /**Valor de Firma Digital sobre DD. */ class DocumentoFRMT { algoritmo: Documentoalgoritmo; /**Opcional. */ valor: string; ParseFromXMLElement: (Node: Element) => void; } type Documentoalgoritmo = 'SHA1withRSA' | 'SHA1withDSA'; }