Uecko_ERP/modules/customer-invoices/src/common/dto/shared/issued-invoices/issued-invoice-summary.dto.ts
2026-07-14 20:39:31 +02:00

40 lines
1.1 KiB
TypeScript

import { CurrencyCodeSchema, IsoDateSchema, LanguageCodeSchema, MoneySchema } from "@erp/core";
import { z } from "zod/v4";
import { IssuedInvoiceRecipientSummarySchema } from "./issued-invoice-recipient-summary.dto";
import { IssuedInvoiceStatusSchema } from "./issued-invoice-status.dto";
import { VerifactuRecordSchema } from "./verifactu-record.dto";
export const IssuedInvoiceSummarySchema = z.object({
id: z.uuid(),
company_id: z.uuid(),
invoice_number: z.string(),
status: IssuedInvoiceStatusSchema,
series: z.string(),
invoice_date: IsoDateSchema,
operation_date: IsoDateSchema.nullable(),
language_code: LanguageCodeSchema,
currency_code: CurrencyCodeSchema,
reference: z.string().nullable(),
description: z.string().nullable(),
customer_id: z.uuid(),
recipient: IssuedInvoiceRecipientSummarySchema,
subtotal_amount: MoneySchema,
total_discount_amount: MoneySchema,
taxable_amount: MoneySchema,
taxes_amount: MoneySchema,
total_amount: MoneySchema,
verifactu: VerifactuRecordSchema,
linked_proforma_id: z.uuid().nullable(),
});
export type IssuedInvoiceSummaryDTO = z.infer<typeof IssuedInvoiceSummarySchema>;