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
TypeScript
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 {};