40 lines
1.1 KiB
TypeScript
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>;
|