UNPKG

facturacionelectronicapy-ts-xmlgen

Version:

Genera el contenido del archivo XML del Documento electrónico exigido por la SET

127 lines (126 loc) 3.73 kB
import { TaxType } from '../data/taxTypes.table'; import { CompleteItem } from '../schemas/data/item.schema'; import { SecureOmit } from '../types/helpers'; type Props = { items: CompleteItem[]; /**C002 = 7 */ isElectronicRemissionNote: boolean; /**C002 = 4 */ isAutoInvoice: boolean; /**D015 = PYG */ isGuarani: boolean; /**D017 = 1 */ currencyChangeConditionIsGlobal: boolean; /**D017 = 2 */ currencyChangeConditionIsPerItem: boolean; /**D018 */ cambio: number | undefined; /**F025*/ comision: number | undefined; tipoImpuesto: TaxType; }; /**F. Campos que describen los subtotales y totales de la transacción documentada (F001-F099) * OBS: Sin incluir el campo F025 * * VER: https://www.dnit.gov.py/documents/20123/420595/NT_E_KUATIA_001_MT_V150.pdf/c4d2ab8e-632b-dc8f-d3f6-6a144a3a3d9c?t=1687353745680 */ export default function getTotals({ items, isElectronicRemissionNote, isAutoInvoice, isGuarani, currencyChangeConditionIsGlobal, currencyChangeConditionIsPerItem, cambio, comision, tipoImpuesto, }: Props): (SecureOmit<{ /**F002*/ subtotalExento: number; /**F003*/ subtotalExonerado: number; /**F004*/ subtotalIva5?: number; /**F005*/ subtotalIva10?: number; /**F008*/ totalBruto: number; /**F009 */ totalDescuento: number; /**F010*/ porcentajeDescuentoTotal: number; /**F011*/ descuentoTotal: number; /**F012*/ anticipo: number; /**F013*/ redondeo: number; /**F014*/ totalNeto: number; /**F015*/ liquidacionIva5?: number; /**F016*/ liquidacionIva10?: number; /**F017*/ liquidacionTotalIva?: number; /**F018*/ totalIvaGrabado5?: number; /**F019*/ totalIvaGrabado10?: number; /**F020*/ totalIvaGrabado?: number; /**F023*/ totalGuaranies?: number; /**F026*/ ivaComision: number; /**F033*/ totalDescuentoGlobalItem: number; /**F034*/ totalAnticipoItem: number; /**F035*/ totalAnticipoGlobalItem: number; /**F036*/ liquidacionTotalIva5?: number; /**F037*/ liquidacionTotalIva10?: number; }, "subtotalExento" | "subtotalExonerado" | "subtotalIva5" | "subtotalIva10" | "liquidacionIva5" | "liquidacionIva10" | "liquidacionTotalIva" | "totalIvaGrabado5" | "totalIvaGrabado10" | "totalIvaGrabado" | "totalGuaranies" | "ivaComision"> & Partial<Pick<{ /**F002*/ subtotalExento: number; /**F003*/ subtotalExonerado: number; /**F004*/ subtotalIva5?: number; /**F005*/ subtotalIva10?: number; /**F008*/ totalBruto: number; /**F009 */ totalDescuento: number; /**F010*/ porcentajeDescuentoTotal: number; /**F011*/ descuentoTotal: number; /**F012*/ anticipo: number; /**F013*/ redondeo: number; /**F014*/ totalNeto: number; /**F015*/ liquidacionIva5?: number; /**F016*/ liquidacionIva10?: number; /**F017*/ liquidacionTotalIva?: number; /**F018*/ totalIvaGrabado5?: number; /**F019*/ totalIvaGrabado10?: number; /**F020*/ totalIvaGrabado?: number; /**F023*/ totalGuaranies?: number; /**F026*/ ivaComision: number; /**F033*/ totalDescuentoGlobalItem: number; /**F034*/ totalAnticipoItem: number; /**F035*/ totalAnticipoGlobalItem: number; /**F036*/ liquidacionTotalIva5?: number; /**F037*/ liquidacionTotalIva10?: number; }, "subtotalExento" | "subtotalExonerado" | "subtotalIva5" | "subtotalIva10" | "liquidacionIva5" | "liquidacionIva10" | "liquidacionTotalIva" | "totalIvaGrabado5" | "totalIvaGrabado10" | "totalIvaGrabado" | "totalGuaranies" | "ivaComision">>) | undefined; export {};