envio-comprobantes-sri
Version:
Envia comprobantes electronicos al SRI (Ecuador). Recibe un objeto JSON. Lo convierte a XML, lo firma, lo envía al servicio web del SRI y devuelve la respuesta.
79 lines (78 loc) • 2.35 kB
TypeScript
import { TablaAmbiente, TablaCodigoDocumento, TablaFormasPago, TablaImpuesto, tablaPorcentajeICE, TablaPorcentajeIVA } from "./Utils/TablasSRI";
export declare class InfoComprobanteBase {
fechaEmision: string;
dirEstablecimiento?: string;
contribuyenteEspecial?: number;
obligadoContabilidad: "SI" | "NO";
}
export declare class InfoTributaria {
ambiente: TablaAmbiente;
tipoEmision: 1;
razonSocial: string;
nombreComercial: string;
ruc: string;
claveAcceso: string;
codDoc: TablaCodigoDocumento;
estab: string;
ptoEmi: string;
secuencial: string;
dirMatriz: string | null;
agenteRetencion?: string;
contribuyenteRimpe?: "CONTRIBUYENTE RÉGIMEN RIMPE" | "CONTRIBUYENTE NEGOCIO POPULAR - RÉGIMEN RIMPE";
}
export declare class Impuesto {
codigo: TablaImpuesto;
codigoPorcentaje: TablaPorcentajeIVA | tablaPorcentajeICE;
baseImponible: number;
valor: number;
}
declare class ImpuestoDetalleComprobante implements Impuesto {
codigo: TablaImpuesto;
codigoPorcentaje: TablaPorcentajeIVA | tablaPorcentajeICE;
tarifa: number;
baseImponible: number;
valor: number;
}
export declare class ImpuestosDetalleComprobante {
impuesto: ImpuestoDetalleComprobante[];
}
declare class DetalleAdicional {
_nombre: string;
_valor: string;
}
export declare class DetallesAdicionales {
detAdicional: DetalleAdicional[];
}
declare class CampoAdicional {
_nombre: string;
__text: string;
}
declare class InfoAdicional {
campoAdicional: CampoAdicional[];
}
export declare class Pago {
formaPago: TablaFormasPago;
total: number;
plazo?: number;
unidadTiempo?: string;
}
export declare class DetalleComprobanteBase {
codigoPrincipal: string;
codigoAuxiliar?: string;
descripcion: string;
cantidad: number;
precioUnitario: number;
descuento?: number;
precioTotalSinImpuesto?: number;
detallesAdicionales?: DetallesAdicionales;
impuestos: ImpuestosDetalleComprobante;
}
export declare class DetallesComprobanteBase {
detalle: DetalleComprobanteBase[];
}
export default class ComprobanteBase {
infoTributaria: InfoTributaria;
detalles: DetallesComprobanteBase;
infoAdicional?: InfoAdicional;
}
export {};