Refactor invoice schema to improve clarity and add acknowledgment date

- Renamed 'vendor' and 'client' fields to 'from' and 'to' for better semantic understanding.
- Added 'acknowledgedAt' field to track acknowledgment date of invoices.
This commit is contained in:
Tom Butcher 2025-12-28 02:10:55 +00:00
parent 8126574186
commit 858041b8e9

View File

@ -33,8 +33,8 @@ const invoiceSchema = new Schema(
shippingAmountWithTax: { type: Number, required: true, default: 0 }, shippingAmountWithTax: { type: Number, required: true, default: 0 },
grandTotalAmount: { type: Number, required: true, default: 0 }, grandTotalAmount: { type: Number, required: true, default: 0 },
totalTaxAmount: { type: Number, required: true, default: 0 }, totalTaxAmount: { type: Number, required: true, default: 0 },
vendor: { type: Schema.Types.ObjectId, ref: 'vendor', required: false }, from: { type: Schema.Types.ObjectId, ref: 'vendor', required: false },
client: { type: Schema.Types.ObjectId, ref: 'client', required: false }, to: { type: Schema.Types.ObjectId, ref: 'client', required: false },
state: { state: {
type: { type: String, required: true, default: 'draft' }, type: { type: String, required: true, default: 'draft' },
}, },
@ -43,6 +43,7 @@ const invoiceSchema = new Schema(
issuedAt: { type: Date, required: false }, issuedAt: { type: Date, required: false },
dueAt: { type: Date, required: false }, dueAt: { type: Date, required: false },
postedAt: { type: Date, required: false }, postedAt: { type: Date, required: false },
acknowledgedAt: { type: Date, required: false },
paidAt: { type: Date, required: false }, paidAt: { type: Date, required: false },
cancelledAt: { type: Date, required: false }, cancelledAt: { type: Date, required: false },
invoiceOrderItems: [invoiceOrderItemSchema], invoiceOrderItems: [invoiceOrderItemSchema],