import { NumericStringSchema } from "@erp/core"; import { z } from "zod/v4"; export const CreateProformaItemFromFactugesRequestSchema = z.object({ position: z.string(), description: z.string().default(""), quantity_value: NumericStringSchema.default(""), // Ya viene escalado unit_value: NumericStringSchema.default(""), discount_percentage_value: NumericStringSchema.default(""), iva_code: z.string().default(""), iva_percentage_value: NumericStringSchema.default(""), rec_code: z.string().default(""), rec_percentage_value: NumericStringSchema.default(""), retention_code: z.string().default(""), retention_percentage_value: NumericStringSchema.default(""), }); export type CreateProformaItemFromFactugesRequestDTO = z.infer< typeof CreateProformaItemFromFactugesRequestSchema >; export const CreateProformaFromFactugesRequestSchema = z.object({ //factuges_id: z.string(), //id: z.uuid(), series: z.string(), //invoice_number: z.string(), reference: z.string().default(""), invoice_date: z.string(), operation_date: z.string().default(""), description: z.string().default(""), notes: z.string().default(""), customer: z.object({ //factuges_id: z.string(), is_company: z.string(), name: z.string(), tin: z.string(), street: z.string(), city: z.string(), province: z.string(), postal_code: z.string(), country: z.string(), language_code: z.string(), phone_primary: z.string(), phone_secondary: z.string(), mobile_primary: z.string(), mobile_secondary: z.string(), email_primary: z.string(), email_secondary: z.string(), website: z.string(), }), global_discount_percentage_value: NumericStringSchema, payment_method: z.string().default(""), items: z.array(CreateProformaItemFromFactugesRequestSchema), }); export type CreateProformaFromFactugesRequestDTO = z.infer< typeof CreateProformaFromFactugesRequestSchema >;