facturacionelectronicapy-ts-xmlgen
Version:
Genera el contenido del archivo XML del Documento electrónico exigido por la SET
421 lines (420 loc) • 18.1 kB
TypeScript
import { z } from 'zod';
import { MerchandiseRelevance } from '../../data/merchandiseRelevances.table';
import { CompleteImpuesto } from './impuesto.schema';
import { CompleteMonto } from './monto.schema';
import { MeasurementUnit } from '../../data/measurementUnits.table';
/**E8. Campos que describen los ítems de la operación (E700-E899) */
export declare const ItemSchema: z.ZodEffects<z.ZodObject<{
codigo: z.ZodString;
partidaArancelaria: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
ncm: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
dncp: z.ZodOptional<z.ZodEffects<z.ZodObject<{
codigoNivelGeneral: z.ZodOptional<z.ZodEffects<z.ZodNumber, string, number>>;
codigoNivelEspecifico: z.ZodOptional<z.ZodString>;
codigoGtinProducto: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
codigoNivelPaquete: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
}, "strip", z.ZodTypeAny, {
codigoNivelGeneral?: string | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
}, {
codigoNivelGeneral?: number | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
}>, {
codigoNivelGeneral?: string | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
}, {
codigoNivelGeneral?: number | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
}>>;
descripcion: z.ZodString;
unidadMedida: z.ZodNativeEnum<typeof MeasurementUnit>;
cantidad: z.ZodEffects<z.ZodNumber, number, number>;
pais: z.ZodOptional<z.ZodNativeEnum<typeof import("../../types").Country>>;
observacion: z.ZodOptional<z.ZodString>;
tolerancia: z.ZodOptional<z.ZodNativeEnum<typeof MerchandiseRelevance>>;
toleranciaCantidad: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
toleranciaPorcentaje: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
cdcAnticipo: z.ZodOptional<z.ZodString>;
monto: z.ZodOptional<z.ZodEffects<z.ZodObject<{
precioUnitario: z.ZodEffects<z.ZodNumber, number, number>;
cambio: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
descuento: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
anticipo: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
}, "strip", z.ZodTypeAny, {
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
}, {
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
}>, {
procentajeDescuentoPorItem: number | undefined;
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
}, {
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
}>>;
impuesto: z.ZodOptional<z.ZodEffects<z.ZodObject<{
ivaTipo: z.ZodNativeEnum<typeof import("../../types").TaxTreatment>;
proporcionGravada: z.ZodOptional<z.ZodNumber>;
iva: z.ZodNativeEnum<typeof import("../../types").TaxRate>;
}, "strip", z.ZodTypeAny, {
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
proporcionGravada?: number | undefined;
}, {
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
proporcionGravada?: number | undefined;
}>, {
proporcionGravada: number;
ivaTipoDescripcion: string;
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
}, {
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
proporcionGravada?: number | undefined;
}>>;
lote: z.ZodOptional<z.ZodString>;
vencimiento: z.ZodEffects<z.ZodOptional<z.ZodDate>, string | undefined, Date | undefined>;
numeroSerie: z.ZodOptional<z.ZodString>;
numeroPedido: z.ZodOptional<z.ZodString>;
numeroSeguimiento: z.ZodOptional<z.ZodString>;
registroSenave: z.ZodOptional<z.ZodString>;
registroEntidadComercial: z.ZodOptional<z.ZodString>;
nombreProducto: z.ZodOptional<z.ZodString>;
sectorAutomotor: z.ZodOptional<z.ZodEffects<z.ZodObject<{
tipo: z.ZodOptional<z.ZodNativeEnum<typeof import("../../types").VehicleOperationType>>;
chasis: z.ZodOptional<z.ZodString>;
color: z.ZodOptional<z.ZodString>;
potencia: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
capacidadMotor: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
pesoNeto: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
pesoBruto: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
tipoCombustible: z.ZodOptional<z.ZodNativeEnum<typeof import("../../types").FuelType>>;
tipoCombustibleDescripcion: z.ZodOptional<z.ZodString>;
numeroMotor: z.ZodOptional<z.ZodString>;
capacidadTraccion: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
año: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
tipoVehiculo: z.ZodOptional<z.ZodString>;
capacidadPasajeros: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>;
cilindradas: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
}, {
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
}>, {
tipoDescripcion: string | undefined;
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
}, {
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
codigo: string;
descripcion: string;
unidadMedida: MeasurementUnit;
cantidad: number;
partidaArancelaria?: number | undefined;
ncm?: number | undefined;
dncp?: {
codigoNivelGeneral?: string | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
} | undefined;
pais?: import("../../types").Country | undefined;
observacion?: string | undefined;
tolerancia?: MerchandiseRelevance | undefined;
toleranciaCantidad?: number | undefined;
toleranciaPorcentaje?: number | undefined;
cdcAnticipo?: string | undefined;
monto?: {
procentajeDescuentoPorItem: number | undefined;
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
} | undefined;
impuesto?: {
proporcionGravada: number;
ivaTipoDescripcion: string;
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
} | undefined;
lote?: string | undefined;
vencimiento?: string | undefined;
numeroSerie?: string | undefined;
numeroPedido?: string | undefined;
numeroSeguimiento?: string | undefined;
registroSenave?: string | undefined;
registroEntidadComercial?: string | undefined;
nombreProducto?: string | undefined;
sectorAutomotor?: {
tipoDescripcion: string | undefined;
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
} | undefined;
}, {
codigo: string;
descripcion: string;
unidadMedida: MeasurementUnit;
cantidad: number;
partidaArancelaria?: number | undefined;
ncm?: number | undefined;
dncp?: {
codigoNivelGeneral?: number | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
} | undefined;
pais?: import("../../types").Country | undefined;
observacion?: string | undefined;
tolerancia?: MerchandiseRelevance | undefined;
toleranciaCantidad?: number | undefined;
toleranciaPorcentaje?: number | undefined;
cdcAnticipo?: string | undefined;
monto?: {
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
} | undefined;
impuesto?: {
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
proporcionGravada?: number | undefined;
} | undefined;
lote?: string | undefined;
vencimiento?: Date | undefined;
numeroSerie?: string | undefined;
numeroPedido?: string | undefined;
numeroSeguimiento?: string | undefined;
registroSenave?: string | undefined;
registroEntidadComercial?: string | undefined;
nombreProducto?: string | undefined;
sectorAutomotor?: {
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
} | undefined;
}>, {
paisDescripcion: string | undefined;
unidadMedidaDescripcion: string;
toleranciaDescripcion: string | undefined;
monto: {
precioTotal: number;
procentajeDescuentoPorItem: number | undefined;
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
} | undefined;
codigo: string;
descripcion: string;
unidadMedida: MeasurementUnit;
cantidad: number;
partidaArancelaria?: number | undefined;
ncm?: number | undefined;
dncp?: {
codigoNivelGeneral?: string | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
} | undefined;
pais?: import("../../types").Country | undefined;
observacion?: string | undefined;
tolerancia?: MerchandiseRelevance | undefined;
toleranciaCantidad?: number | undefined;
toleranciaPorcentaje?: number | undefined;
cdcAnticipo?: string | undefined;
impuesto?: {
proporcionGravada: number;
ivaTipoDescripcion: string;
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
} | undefined;
lote?: string | undefined;
vencimiento?: string | undefined;
numeroSerie?: string | undefined;
numeroPedido?: string | undefined;
numeroSeguimiento?: string | undefined;
registroSenave?: string | undefined;
registroEntidadComercial?: string | undefined;
nombreProducto?: string | undefined;
sectorAutomotor?: {
tipoDescripcion: string | undefined;
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
} | undefined;
}, {
codigo: string;
descripcion: string;
unidadMedida: MeasurementUnit;
cantidad: number;
partidaArancelaria?: number | undefined;
ncm?: number | undefined;
dncp?: {
codigoNivelGeneral?: number | undefined;
codigoNivelEspecifico?: string | undefined;
codigoGtinProducto?: number | undefined;
codigoNivelPaquete?: number | undefined;
} | undefined;
pais?: import("../../types").Country | undefined;
observacion?: string | undefined;
tolerancia?: MerchandiseRelevance | undefined;
toleranciaCantidad?: number | undefined;
toleranciaPorcentaje?: number | undefined;
cdcAnticipo?: string | undefined;
monto?: {
precioUnitario: number;
cambio?: number | undefined;
descuento?: number | undefined;
anticipo?: number | undefined;
} | undefined;
impuesto?: {
ivaTipo: import("../../types").TaxTreatment;
iva: import("../../types").TaxRate;
proporcionGravada?: number | undefined;
} | undefined;
lote?: string | undefined;
vencimiento?: Date | undefined;
numeroSerie?: string | undefined;
numeroPedido?: string | undefined;
numeroSeguimiento?: string | undefined;
registroSenave?: string | undefined;
registroEntidadComercial?: string | undefined;
nombreProducto?: string | undefined;
sectorAutomotor?: {
tipo?: import("../../types").VehicleOperationType | undefined;
chasis?: string | undefined;
color?: string | undefined;
potencia?: number | undefined;
capacidadMotor?: number | undefined;
pesoNeto?: number | undefined;
pesoBruto?: number | undefined;
tipoCombustible?: import("../../types").FuelType | undefined;
tipoCombustibleDescripcion?: string | undefined;
numeroMotor?: string | undefined;
capacidadTraccion?: number | undefined;
año?: number | undefined;
tipoVehiculo?: string | undefined;
capacidadPasajeros?: number | undefined;
cilindradas?: string | undefined;
} | undefined;
}>;
export type Item = z.infer<typeof ItemSchema>;
export type CompleteItem = Item & {
monto?: CompleteMonto;
impuesto?: CompleteImpuesto;
};