@stamhoofd/models 2.110.0 → 2.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/models/BalanceItem.d.ts +3 -1
- package/dist/src/models/BalanceItem.d.ts.map +1 -1
- package/dist/src/models/BalanceItem.js +7 -1
- package/dist/src/models/BalanceItem.js.map +1 -1
- package/dist/src/models/Invoice.d.ts +62 -0
- package/dist/src/models/Invoice.d.ts.map +1 -0
- package/dist/src/models/Invoice.js +202 -0
- package/dist/src/models/Invoice.js.map +1 -0
- package/dist/src/models/InvoicedBalanceItem.d.ts +66 -0
- package/dist/src/models/InvoicedBalanceItem.d.ts.map +1 -0
- package/dist/src/models/InvoicedBalanceItem.js +136 -0
- package/dist/src/models/InvoicedBalanceItem.js.map +1 -0
- package/dist/src/models/index.d.ts +2 -0
- package/dist/src/models/index.d.ts.map +1 -1
- package/dist/src/models/index.js +2 -0
- package/dist/src/models/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/models/BalanceItem.ts +9 -1
- package/src/models/Invoice.ts +189 -0
- package/src/models/InvoicedBalanceItem.ts +119 -0
- package/src/models/index.ts +3 -0
|
@@ -29,9 +29,11 @@ export declare class BalanceItem extends QueryableModel {
|
|
|
29
29
|
relations: Map<BalanceItemRelationType, BalanceItemRelation>;
|
|
30
30
|
description: string;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* @deprecated Use quantity
|
|
33
33
|
*/
|
|
34
34
|
amount: number;
|
|
35
|
+
get quantity(): number;
|
|
36
|
+
set quantity(quantity: number);
|
|
35
37
|
/**
|
|
36
38
|
* Price per piece
|
|
37
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../../src/models/BalanceItem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BalanceItem.d.ts","sourceRoot":"","sources":["../../../src/models/BalanceItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,9 +39,15 @@ class BalanceItem extends sql_1.QueryableModel {
|
|
|
39
39
|
relations = new Map();
|
|
40
40
|
description = '';
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* @deprecated Use quantity
|
|
43
43
|
*/
|
|
44
44
|
amount = 1;
|
|
45
|
+
get quantity() {
|
|
46
|
+
return this.amount;
|
|
47
|
+
}
|
|
48
|
+
set quantity(quantity) {
|
|
49
|
+
this.amount = this.quantity;
|
|
50
|
+
}
|
|
45
51
|
/**
|
|
46
52
|
* Price per piece
|
|
47
53
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceItem.js","sourceRoot":"","sources":["../../../src/models/BalanceItem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BalanceItem.js","sourceRoot":"","sources":["../../../src/models/BalanceItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Company, File, Invoice as InvoiceStruct, PaymentCustomer, VATSubtotal } from '@stamhoofd/structures';
|
|
2
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
3
|
+
export declare class Invoice extends QueryableModel {
|
|
4
|
+
static table: string;
|
|
5
|
+
id: string;
|
|
6
|
+
number: string | null;
|
|
7
|
+
customer: PaymentCustomer;
|
|
8
|
+
seller: Company;
|
|
9
|
+
/**
|
|
10
|
+
* seller organization
|
|
11
|
+
*/
|
|
12
|
+
organizationId: string;
|
|
13
|
+
/**
|
|
14
|
+
* Can be null if it is not linked to an organization.
|
|
15
|
+
* This is only used to allow the payer to list their (incoming) invoices.
|
|
16
|
+
*
|
|
17
|
+
* In the future we could expand this with members, users, and/or orders
|
|
18
|
+
*/
|
|
19
|
+
payingOrganizationId: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* This is the rounding amount in cents that is applied to the normal calculation of the invoiced balance items (prices exluding VAT) to come to the actual total price of the invoice.
|
|
22
|
+
*
|
|
23
|
+
* This is visible on the invoice. It is use to correct for differences between the paid price and the calculated invoice price because of rounding issues or things that can't be represented properly in PEPPOL due to rounding
|
|
24
|
+
*
|
|
25
|
+
* - Say we invoice 31 items of 5 euro including VAT, so 4,13 euro excluding VAT. This means InvoicedBalanceItem has
|
|
26
|
+
* - balanceInvoicedAmount = 5 euro
|
|
27
|
+
* - amount = 31_00_00 (31 pieces)
|
|
28
|
+
* - unitPrice = 4_13_00 (4,13 euro excluding VAT, rounded to 1 cent because of PEPPOL)
|
|
29
|
+
* The normal invoiced sum would be 155 euro if we sum balanceInvoicedAmount
|
|
30
|
+
* But the invoice total price will be 128,03 excluding VAT, and 154,92 euro including VAT because of rounding rules (round on total level, not individual item level).
|
|
31
|
+
* In this case payableRoundingAmount would be 0,08 euro, because that is the price that needs to be added to the normal calculation to come to the actual invoice total price that needs to be paid (155 euro).
|
|
32
|
+
* A different solution might be to increase the price excluding VAT of some items by 0,07 euro (or add an extra item on the invoice with the same VAT rate), so the total excluding VAT becomes 128,10 euro, and including VAT 155 euro. This is not always possible though, in some cases we maintain a difference of 1 cent.
|
|
33
|
+
* balanceRoundingAmount would be 0 because there is no difference lower than 1 cent.
|
|
34
|
+
*/
|
|
35
|
+
payableRoundingAmount: number;
|
|
36
|
+
/**
|
|
37
|
+
* List of VAT per VAT rate or category. This is stored in case the calculation changes over time.
|
|
38
|
+
*/
|
|
39
|
+
VATTotal: VATSubtotal[];
|
|
40
|
+
VATTotalAmount: number;
|
|
41
|
+
totalWithoutVAT: number;
|
|
42
|
+
totalBalanceInvoicedAmount: number;
|
|
43
|
+
totalWithVAT: number;
|
|
44
|
+
ipAddress: string | null;
|
|
45
|
+
userAgent: string | null;
|
|
46
|
+
stripeAccountId: string | null;
|
|
47
|
+
reference: string | null;
|
|
48
|
+
pdf: File | null;
|
|
49
|
+
xml: File | null;
|
|
50
|
+
/**
|
|
51
|
+
* If a invoice was refunded because of a cancellation, we store the negative invoice id here
|
|
52
|
+
*/
|
|
53
|
+
negativeInvoiceId: string | null;
|
|
54
|
+
didSendPeppol: boolean;
|
|
55
|
+
createdAt: Date;
|
|
56
|
+
_forceUpdatedAt: Date | null;
|
|
57
|
+
updatedAt: Date;
|
|
58
|
+
static createFrom(organization: {
|
|
59
|
+
id: string;
|
|
60
|
+
}, struct: InvoiceStruct): Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=Invoice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Invoice.d.ts","sourceRoot":"","sources":["../../../src/models/Invoice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI9G,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,qBAAa,OAAQ,SAAQ,cAAc;IACvC,MAAM,CAAC,KAAK,SAAc;IAO1B,EAAE,EAAG,MAAM,CAAC;IAGZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG7B,QAAQ,kBAA8B;IAGtC,MAAM,UAAsB;IAE5B;;OAEG;IAEH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IAEH,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C;;;;;;;;;;;;;;OAcG;IAEH,qBAAqB,EAAE,MAAM,CAAK;IAElC;;OAEG;IAEH,QAAQ,EAAE,WAAW,EAAE,CAAM;IAG7B,cAAc,SAAK;IAGnB,eAAe,SAAK;IAGpB,0BAA0B,SAAK;IAG/B,YAAY,SAAK;IAGjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGhC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGhC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGhC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAQ;IAGxB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAQ;IAExB;;OAEG;IAEH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGxC,aAAa,UAAS;IAYtB,SAAS,EAAE,IAAI,CAAC;IAEhB,eAAe,EAAE,IAAI,GAAG,IAAI,CAAQ;IAapC,SAAS,EAAE,IAAI,CAAC;WAEH,UAAU,CAAC,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,aAAa;CAwD9E"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Invoice = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const simple_database_1 = require("@simonbackx/simple-database");
|
|
6
|
+
const structures_1 = require("@stamhoofd/structures");
|
|
7
|
+
const uuid_1 = require("uuid");
|
|
8
|
+
const simple_encoding_1 = require("@simonbackx/simple-encoding");
|
|
9
|
+
const sql_1 = require("@stamhoofd/sql");
|
|
10
|
+
const InvoicedBalanceItem_js_1 = require("./InvoicedBalanceItem.js");
|
|
11
|
+
class Invoice extends sql_1.QueryableModel {
|
|
12
|
+
static table = 'invoices';
|
|
13
|
+
id;
|
|
14
|
+
number = null;
|
|
15
|
+
customer = structures_1.PaymentCustomer.create({});
|
|
16
|
+
seller = structures_1.Company.create({});
|
|
17
|
+
/**
|
|
18
|
+
* seller organization
|
|
19
|
+
*/
|
|
20
|
+
organizationId;
|
|
21
|
+
/**
|
|
22
|
+
* Can be null if it is not linked to an organization.
|
|
23
|
+
* This is only used to allow the payer to list their (incoming) invoices.
|
|
24
|
+
*
|
|
25
|
+
* In the future we could expand this with members, users, and/or orders
|
|
26
|
+
*/
|
|
27
|
+
payingOrganizationId = null;
|
|
28
|
+
/**
|
|
29
|
+
* This is the rounding amount in cents that is applied to the normal calculation of the invoiced balance items (prices exluding VAT) to come to the actual total price of the invoice.
|
|
30
|
+
*
|
|
31
|
+
* This is visible on the invoice. It is use to correct for differences between the paid price and the calculated invoice price because of rounding issues or things that can't be represented properly in PEPPOL due to rounding
|
|
32
|
+
*
|
|
33
|
+
* - Say we invoice 31 items of 5 euro including VAT, so 4,13 euro excluding VAT. This means InvoicedBalanceItem has
|
|
34
|
+
* - balanceInvoicedAmount = 5 euro
|
|
35
|
+
* - amount = 31_00_00 (31 pieces)
|
|
36
|
+
* - unitPrice = 4_13_00 (4,13 euro excluding VAT, rounded to 1 cent because of PEPPOL)
|
|
37
|
+
* The normal invoiced sum would be 155 euro if we sum balanceInvoicedAmount
|
|
38
|
+
* But the invoice total price will be 128,03 excluding VAT, and 154,92 euro including VAT because of rounding rules (round on total level, not individual item level).
|
|
39
|
+
* In this case payableRoundingAmount would be 0,08 euro, because that is the price that needs to be added to the normal calculation to come to the actual invoice total price that needs to be paid (155 euro).
|
|
40
|
+
* A different solution might be to increase the price excluding VAT of some items by 0,07 euro (or add an extra item on the invoice with the same VAT rate), so the total excluding VAT becomes 128,10 euro, and including VAT 155 euro. This is not always possible though, in some cases we maintain a difference of 1 cent.
|
|
41
|
+
* balanceRoundingAmount would be 0 because there is no difference lower than 1 cent.
|
|
42
|
+
*/
|
|
43
|
+
payableRoundingAmount = 0;
|
|
44
|
+
/**
|
|
45
|
+
* List of VAT per VAT rate or category. This is stored in case the calculation changes over time.
|
|
46
|
+
*/
|
|
47
|
+
VATTotal = [];
|
|
48
|
+
VATTotalAmount = 0;
|
|
49
|
+
totalWithoutVAT = 0;
|
|
50
|
+
totalBalanceInvoicedAmount = 0;
|
|
51
|
+
totalWithVAT = 0;
|
|
52
|
+
ipAddress = null;
|
|
53
|
+
userAgent = null;
|
|
54
|
+
stripeAccountId = null;
|
|
55
|
+
reference = null;
|
|
56
|
+
pdf = null;
|
|
57
|
+
xml = null;
|
|
58
|
+
/**
|
|
59
|
+
* If a invoice was refunded because of a cancellation, we store the negative invoice id here
|
|
60
|
+
*/
|
|
61
|
+
negativeInvoiceId = null;
|
|
62
|
+
didSendPeppol = false;
|
|
63
|
+
createdAt;
|
|
64
|
+
_forceUpdatedAt = null;
|
|
65
|
+
updatedAt;
|
|
66
|
+
static async createFrom(organization, struct) {
|
|
67
|
+
const model = new Invoice();
|
|
68
|
+
model.customer = struct.customer;
|
|
69
|
+
model.seller = struct.seller;
|
|
70
|
+
model.organizationId = organization.id;
|
|
71
|
+
model.payingOrganizationId = struct.payingOrganizationId;
|
|
72
|
+
model.payableRoundingAmount = struct.payableRoundingAmount;
|
|
73
|
+
model.VATTotal = struct.VATTotal;
|
|
74
|
+
model.VATTotalAmount = struct.VATTotalAmount;
|
|
75
|
+
model.totalWithoutVAT = struct.totalWithoutVAT;
|
|
76
|
+
model.totalWithVAT = struct.totalWithVAT;
|
|
77
|
+
model.totalBalanceInvoicedAmount = struct.totalBalanceInvoicedAmount;
|
|
78
|
+
model.ipAddress = struct.ipAddress;
|
|
79
|
+
model.userAgent = struct.userAgent;
|
|
80
|
+
model.stripeAccountId = struct.stripeAccountId;
|
|
81
|
+
model.reference = struct.reference;
|
|
82
|
+
model.negativeInvoiceId = struct.negativeInvoiceId;
|
|
83
|
+
await model.save();
|
|
84
|
+
// Create balances
|
|
85
|
+
try {
|
|
86
|
+
for (const item of struct.items) {
|
|
87
|
+
const invoiced = new InvoicedBalanceItem_js_1.InvoicedBalanceItem();
|
|
88
|
+
invoiced.invoiceId = model.id;
|
|
89
|
+
invoiced.organizationId = model.organizationId;
|
|
90
|
+
invoiced.balanceItemId = item.balanceItemId;
|
|
91
|
+
invoiced.VATExcempt = item.VATExcempt;
|
|
92
|
+
invoiced.VATPercentage = item.VATPercentage;
|
|
93
|
+
invoiced.VATIncluded = item.VATIncluded;
|
|
94
|
+
invoiced.unitPrice = item.unitPrice;
|
|
95
|
+
invoiced.quantity = item.quantity;
|
|
96
|
+
invoiced.balanceInvoicedAmount = item.balanceInvoicedAmount;
|
|
97
|
+
invoiced.totalWithoutVAT = item.totalWithoutVAT;
|
|
98
|
+
await invoiced.save();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
try {
|
|
103
|
+
await model.delete();
|
|
104
|
+
}
|
|
105
|
+
catch (ee) {
|
|
106
|
+
console.error('Error while trying to delete invoice because of fail save', ee, 'Deleting because of error', e);
|
|
107
|
+
}
|
|
108
|
+
throw e;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.Invoice = Invoice;
|
|
113
|
+
tslib_1.__decorate([
|
|
114
|
+
(0, simple_database_1.column)({
|
|
115
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
116
|
+
return value ?? (0, uuid_1.v4)();
|
|
117
|
+
},
|
|
118
|
+
})
|
|
119
|
+
], Invoice.prototype, "id", void 0);
|
|
120
|
+
tslib_1.__decorate([
|
|
121
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
122
|
+
], Invoice.prototype, "number", void 0);
|
|
123
|
+
tslib_1.__decorate([
|
|
124
|
+
(0, simple_database_1.column)({ type: 'json', decoder: structures_1.PaymentCustomer })
|
|
125
|
+
], Invoice.prototype, "customer", void 0);
|
|
126
|
+
tslib_1.__decorate([
|
|
127
|
+
(0, simple_database_1.column)({ type: 'json', decoder: structures_1.Company })
|
|
128
|
+
], Invoice.prototype, "seller", void 0);
|
|
129
|
+
tslib_1.__decorate([
|
|
130
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
131
|
+
], Invoice.prototype, "organizationId", void 0);
|
|
132
|
+
tslib_1.__decorate([
|
|
133
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
134
|
+
], Invoice.prototype, "payingOrganizationId", void 0);
|
|
135
|
+
tslib_1.__decorate([
|
|
136
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
137
|
+
], Invoice.prototype, "payableRoundingAmount", void 0);
|
|
138
|
+
tslib_1.__decorate([
|
|
139
|
+
(0, simple_database_1.column)({ type: 'json', decoder: new simple_encoding_1.ArrayDecoder(structures_1.VATSubtotal) })
|
|
140
|
+
], Invoice.prototype, "VATTotal", void 0);
|
|
141
|
+
tslib_1.__decorate([
|
|
142
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
143
|
+
], Invoice.prototype, "VATTotalAmount", void 0);
|
|
144
|
+
tslib_1.__decorate([
|
|
145
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
146
|
+
], Invoice.prototype, "totalWithoutVAT", void 0);
|
|
147
|
+
tslib_1.__decorate([
|
|
148
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
149
|
+
], Invoice.prototype, "totalBalanceInvoicedAmount", void 0);
|
|
150
|
+
tslib_1.__decorate([
|
|
151
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
152
|
+
], Invoice.prototype, "totalWithVAT", void 0);
|
|
153
|
+
tslib_1.__decorate([
|
|
154
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
155
|
+
], Invoice.prototype, "ipAddress", void 0);
|
|
156
|
+
tslib_1.__decorate([
|
|
157
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
158
|
+
], Invoice.prototype, "userAgent", void 0);
|
|
159
|
+
tslib_1.__decorate([
|
|
160
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
161
|
+
], Invoice.prototype, "stripeAccountId", void 0);
|
|
162
|
+
tslib_1.__decorate([
|
|
163
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
164
|
+
], Invoice.prototype, "reference", void 0);
|
|
165
|
+
tslib_1.__decorate([
|
|
166
|
+
(0, simple_database_1.column)({ type: 'json', decoder: structures_1.File, nullable: true })
|
|
167
|
+
], Invoice.prototype, "pdf", void 0);
|
|
168
|
+
tslib_1.__decorate([
|
|
169
|
+
(0, simple_database_1.column)({ type: 'json', decoder: structures_1.File, nullable: true })
|
|
170
|
+
], Invoice.prototype, "xml", void 0);
|
|
171
|
+
tslib_1.__decorate([
|
|
172
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
173
|
+
], Invoice.prototype, "negativeInvoiceId", void 0);
|
|
174
|
+
tslib_1.__decorate([
|
|
175
|
+
(0, simple_database_1.column)({ type: 'boolean' })
|
|
176
|
+
], Invoice.prototype, "didSendPeppol", void 0);
|
|
177
|
+
tslib_1.__decorate([
|
|
178
|
+
(0, simple_database_1.column)({
|
|
179
|
+
type: 'datetime', beforeSave(old) {
|
|
180
|
+
if (old !== undefined) {
|
|
181
|
+
return old;
|
|
182
|
+
}
|
|
183
|
+
const date = new Date();
|
|
184
|
+
date.setMilliseconds(0);
|
|
185
|
+
return date;
|
|
186
|
+
},
|
|
187
|
+
})
|
|
188
|
+
], Invoice.prototype, "createdAt", void 0);
|
|
189
|
+
tslib_1.__decorate([
|
|
190
|
+
(0, simple_database_1.column)({
|
|
191
|
+
type: 'datetime', beforeSave() {
|
|
192
|
+
if (this._forceUpdatedAt) {
|
|
193
|
+
return this._forceUpdatedAt;
|
|
194
|
+
}
|
|
195
|
+
const date = new Date();
|
|
196
|
+
date.setMilliseconds(0);
|
|
197
|
+
return date;
|
|
198
|
+
},
|
|
199
|
+
skipUpdate: true,
|
|
200
|
+
})
|
|
201
|
+
], Invoice.prototype, "updatedAt", void 0);
|
|
202
|
+
//# sourceMappingURL=Invoice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Invoice.js","sourceRoot":"","sources":["../../../src/models/Invoice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ManyToOneRelation } from '@simonbackx/simple-database';
|
|
2
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
3
|
+
import { Invoice } from './Invoice.js';
|
|
4
|
+
import { BalanceItem } from './BalanceItem.js';
|
|
5
|
+
import { VATExcemptReason } from '@stamhoofd/structures';
|
|
6
|
+
/**
|
|
7
|
+
* Keeps track of all the created invoices of a balance item, which contains how many balance was invoiced (including VAT)
|
|
8
|
+
* and also how it was invoiced (since the unit price, quantity etc can't always match the balance items invoiced price due to rounding)
|
|
9
|
+
*/
|
|
10
|
+
export declare class InvoicedBalanceItem extends QueryableModel {
|
|
11
|
+
static table: string;
|
|
12
|
+
id: string;
|
|
13
|
+
organizationId: string;
|
|
14
|
+
invoiceId: string;
|
|
15
|
+
balanceItemId: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
/**
|
|
19
|
+
* Price of the balance that was actually invoiced. Always includes VAT.
|
|
20
|
+
*
|
|
21
|
+
* This only explains the due balance that was invoiced so we don't invoice items multiple times. It does not correspond to the visible unit price or price on the invoice.
|
|
22
|
+
*
|
|
23
|
+
* - E.g. if balance item price is 5 euro including VAT (=balanceInvoicedAmount), then unit price would be 4,13 euro. You'll see this causes a rounding issue if the amount is 2, because then the price including VAT of the invoice would be 9,99 instead of 10.
|
|
24
|
+
* - E.g. if balance item price is 0,242 euro including VAT (=balanceInvoicedAmount), then unit price would be 0,20 euro (no rounding issue)
|
|
25
|
+
* - E.g. if balance item price is 0,243 euro including VAT (=balanceInvoicedAmount), then unit price would also be 0,20 euro (rounding issue)
|
|
26
|
+
*
|
|
27
|
+
* Any rounding issues are fixed on the invoice level.
|
|
28
|
+
*/
|
|
29
|
+
balanceInvoicedAmount: number;
|
|
30
|
+
/**
|
|
31
|
+
* quantity per ten thousand
|
|
32
|
+
* We need to support 4 decimals in case of partial payments.
|
|
33
|
+
* E.g. 10 euro of 30 euro was paid and is invoiced, then the amount would be 0.3333, stored as 3333
|
|
34
|
+
* Mostly for legal reasons, to be able to say wat was actually bought without faking an amount
|
|
35
|
+
*/
|
|
36
|
+
quantity: number;
|
|
37
|
+
/**
|
|
38
|
+
* Price per piece
|
|
39
|
+
* Always excludes VAT
|
|
40
|
+
*/
|
|
41
|
+
unitPrice: number;
|
|
42
|
+
/**
|
|
43
|
+
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
44
|
+
* mistakes can be corrected and credited.
|
|
45
|
+
*/
|
|
46
|
+
VATPercentage: number;
|
|
47
|
+
/**
|
|
48
|
+
* Note: does not apply to unitPrice, only to the balance item at the time of invoicing
|
|
49
|
+
*/
|
|
50
|
+
VATIncluded: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
53
|
+
* mistakes can be corrected and credited.
|
|
54
|
+
*/
|
|
55
|
+
VATExcempt: VATExcemptReason | null;
|
|
56
|
+
/**
|
|
57
|
+
* This should be rounded to 2 decimals to match PEPPOL requirements
|
|
58
|
+
* = LineExtensionAmount
|
|
59
|
+
*/
|
|
60
|
+
totalWithoutVAT: number;
|
|
61
|
+
createdAt: Date;
|
|
62
|
+
updatedAt: Date;
|
|
63
|
+
static balanceItem: ManyToOneRelation<"balanceItem", BalanceItem>;
|
|
64
|
+
static invoice: ManyToOneRelation<"invoice", Invoice>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=InvoicedBalanceItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvoicedBalanceItem.d.ts","sourceRoot":"","sources":["../../../src/models/InvoicedBalanceItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACnD,MAAM,CAAC,KAAK,SAA2B;IAOvC,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,CAAC;IAGvB,SAAS,EAAE,MAAM,CAAC;IAGlB,aAAa,EAAE,MAAM,CAAC;IAGtB,IAAI,SAAM;IAGV,WAAW,SAAM;IAEjB;;;;;;;;;;OAUG;IAEH,qBAAqB,SAAK;IAE1B;;;;;OAKG;IAEH,QAAQ,SAAW;IAEnB;;;OAGG;IAEH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IAEH,aAAa,SAAK;IAElB;;OAEG;IAEH,WAAW,UAAQ;IAEnB;;;OAGG;IAEH,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE3C;;;OAGG;IAEH,eAAe,SAAK;IAYpB,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAEhB,MAAM,CAAC,WAAW,gDAAqD;IACvE,MAAM,CAAC,OAAO,wCAA6C;CAC9D"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvoicedBalanceItem = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const simple_database_1 = require("@simonbackx/simple-database");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
7
|
+
const sql_1 = require("@stamhoofd/sql");
|
|
8
|
+
const Invoice_js_1 = require("./Invoice.js");
|
|
9
|
+
const BalanceItem_js_1 = require("./BalanceItem.js");
|
|
10
|
+
/**
|
|
11
|
+
* Keeps track of all the created invoices of a balance item, which contains how many balance was invoiced (including VAT)
|
|
12
|
+
* and also how it was invoiced (since the unit price, quantity etc can't always match the balance items invoiced price due to rounding)
|
|
13
|
+
*/
|
|
14
|
+
class InvoicedBalanceItem extends sql_1.QueryableModel {
|
|
15
|
+
static table = 'balance_item_invoices';
|
|
16
|
+
id;
|
|
17
|
+
organizationId;
|
|
18
|
+
invoiceId;
|
|
19
|
+
balanceItemId;
|
|
20
|
+
name = '';
|
|
21
|
+
description = '';
|
|
22
|
+
/**
|
|
23
|
+
* Price of the balance that was actually invoiced. Always includes VAT.
|
|
24
|
+
*
|
|
25
|
+
* This only explains the due balance that was invoiced so we don't invoice items multiple times. It does not correspond to the visible unit price or price on the invoice.
|
|
26
|
+
*
|
|
27
|
+
* - E.g. if balance item price is 5 euro including VAT (=balanceInvoicedAmount), then unit price would be 4,13 euro. You'll see this causes a rounding issue if the amount is 2, because then the price including VAT of the invoice would be 9,99 instead of 10.
|
|
28
|
+
* - E.g. if balance item price is 0,242 euro including VAT (=balanceInvoicedAmount), then unit price would be 0,20 euro (no rounding issue)
|
|
29
|
+
* - E.g. if balance item price is 0,243 euro including VAT (=balanceInvoicedAmount), then unit price would also be 0,20 euro (rounding issue)
|
|
30
|
+
*
|
|
31
|
+
* Any rounding issues are fixed on the invoice level.
|
|
32
|
+
*/
|
|
33
|
+
balanceInvoicedAmount = 0;
|
|
34
|
+
/**
|
|
35
|
+
* quantity per ten thousand
|
|
36
|
+
* We need to support 4 decimals in case of partial payments.
|
|
37
|
+
* E.g. 10 euro of 30 euro was paid and is invoiced, then the amount would be 0.3333, stored as 3333
|
|
38
|
+
* Mostly for legal reasons, to be able to say wat was actually bought without faking an amount
|
|
39
|
+
*/
|
|
40
|
+
quantity = 1_00_00;
|
|
41
|
+
/**
|
|
42
|
+
* Price per piece
|
|
43
|
+
* Always excludes VAT
|
|
44
|
+
*/
|
|
45
|
+
unitPrice;
|
|
46
|
+
/**
|
|
47
|
+
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
48
|
+
* mistakes can be corrected and credited.
|
|
49
|
+
*/
|
|
50
|
+
VATPercentage = 0;
|
|
51
|
+
/**
|
|
52
|
+
* Note: does not apply to unitPrice, only to the balance item at the time of invoicing
|
|
53
|
+
*/
|
|
54
|
+
VATIncluded = true;
|
|
55
|
+
/**
|
|
56
|
+
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
57
|
+
* mistakes can be corrected and credited.
|
|
58
|
+
*/
|
|
59
|
+
VATExcempt = null;
|
|
60
|
+
/**
|
|
61
|
+
* This should be rounded to 2 decimals to match PEPPOL requirements
|
|
62
|
+
* = LineExtensionAmount
|
|
63
|
+
*/
|
|
64
|
+
totalWithoutVAT = 0;
|
|
65
|
+
createdAt;
|
|
66
|
+
updatedAt;
|
|
67
|
+
static balanceItem = new simple_database_1.ManyToOneRelation(BalanceItem_js_1.BalanceItem, 'balanceItem');
|
|
68
|
+
static invoice = new simple_database_1.ManyToOneRelation(Invoice_js_1.Invoice, 'invoice');
|
|
69
|
+
}
|
|
70
|
+
exports.InvoicedBalanceItem = InvoicedBalanceItem;
|
|
71
|
+
tslib_1.__decorate([
|
|
72
|
+
(0, simple_database_1.column)({
|
|
73
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
74
|
+
return value ?? (0, uuid_1.v4)();
|
|
75
|
+
},
|
|
76
|
+
})
|
|
77
|
+
], InvoicedBalanceItem.prototype, "id", void 0);
|
|
78
|
+
tslib_1.__decorate([
|
|
79
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
80
|
+
], InvoicedBalanceItem.prototype, "organizationId", void 0);
|
|
81
|
+
tslib_1.__decorate([
|
|
82
|
+
(0, simple_database_1.column)({ type: 'string', foreignKey: InvoicedBalanceItem.invoice })
|
|
83
|
+
], InvoicedBalanceItem.prototype, "invoiceId", void 0);
|
|
84
|
+
tslib_1.__decorate([
|
|
85
|
+
(0, simple_database_1.column)({ type: 'string', foreignKey: InvoicedBalanceItem.balanceItem })
|
|
86
|
+
], InvoicedBalanceItem.prototype, "balanceItemId", void 0);
|
|
87
|
+
tslib_1.__decorate([
|
|
88
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
89
|
+
], InvoicedBalanceItem.prototype, "name", void 0);
|
|
90
|
+
tslib_1.__decorate([
|
|
91
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
92
|
+
], InvoicedBalanceItem.prototype, "description", void 0);
|
|
93
|
+
tslib_1.__decorate([
|
|
94
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
95
|
+
], InvoicedBalanceItem.prototype, "balanceInvoicedAmount", void 0);
|
|
96
|
+
tslib_1.__decorate([
|
|
97
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
98
|
+
], InvoicedBalanceItem.prototype, "quantity", void 0);
|
|
99
|
+
tslib_1.__decorate([
|
|
100
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
101
|
+
], InvoicedBalanceItem.prototype, "unitPrice", void 0);
|
|
102
|
+
tslib_1.__decorate([
|
|
103
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
104
|
+
], InvoicedBalanceItem.prototype, "VATPercentage", void 0);
|
|
105
|
+
tslib_1.__decorate([
|
|
106
|
+
(0, simple_database_1.column)({ type: 'boolean' })
|
|
107
|
+
], InvoicedBalanceItem.prototype, "VATIncluded", void 0);
|
|
108
|
+
tslib_1.__decorate([
|
|
109
|
+
(0, simple_database_1.column)({ type: 'string', nullable: true })
|
|
110
|
+
], InvoicedBalanceItem.prototype, "VATExcempt", void 0);
|
|
111
|
+
tslib_1.__decorate([
|
|
112
|
+
(0, simple_database_1.column)({ type: 'integer' })
|
|
113
|
+
], InvoicedBalanceItem.prototype, "totalWithoutVAT", void 0);
|
|
114
|
+
tslib_1.__decorate([
|
|
115
|
+
(0, simple_database_1.column)({
|
|
116
|
+
type: 'datetime', beforeSave(old) {
|
|
117
|
+
if (old !== undefined) {
|
|
118
|
+
return old;
|
|
119
|
+
}
|
|
120
|
+
const date = new Date();
|
|
121
|
+
date.setMilliseconds(0);
|
|
122
|
+
return date;
|
|
123
|
+
},
|
|
124
|
+
})
|
|
125
|
+
], InvoicedBalanceItem.prototype, "createdAt", void 0);
|
|
126
|
+
tslib_1.__decorate([
|
|
127
|
+
(0, simple_database_1.column)({
|
|
128
|
+
type: 'datetime', beforeSave() {
|
|
129
|
+
const date = new Date();
|
|
130
|
+
date.setMilliseconds(0);
|
|
131
|
+
return date;
|
|
132
|
+
},
|
|
133
|
+
skipUpdate: true,
|
|
134
|
+
})
|
|
135
|
+
], InvoicedBalanceItem.prototype, "updatedAt", void 0);
|
|
136
|
+
//# sourceMappingURL=InvoicedBalanceItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvoicedBalanceItem.js","sourceRoot":"","sources":["../../../src/models/InvoicedBalanceItem.ts"],"names":[],"mappings":";;;;AAAA,iEAAwE;AACxE,+BAAoC;AAEpC,wCAAgD;AAChD,6CAAuC;AACvC,qDAA+C;AAG/C;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,oBAAc;IACnD,MAAM,CAAC,KAAK,GAAG,uBAAuB,CAAC;IAOvC,EAAE,CAAU;IAGZ,cAAc,CAAS;IAGvB,SAAS,CAAS;IAGlB,aAAa,CAAS;IAGtB,IAAI,GAAG,EAAE,CAAC;IAGV,WAAW,GAAG,EAAE,CAAC;IAEjB;;;;;;;;;;OAUG;IAEH,qBAAqB,GAAG,CAAC,CAAC;IAE1B;;;;;OAKG;IAEH,QAAQ,GAAG,OAAO,CAAC;IAEnB;;;OAGG;IAEH,SAAS,CAAS;IAElB;;;OAGG;IAEH,aAAa,GAAG,CAAC,CAAC;IAElB;;OAEG;IAEH,WAAW,GAAG,IAAI,CAAC;IAEnB;;;OAGG;IAEH,UAAU,GAA4B,IAAI,CAAC;IAE3C;;;OAGG;IAEH,eAAe,GAAG,CAAC,CAAC;IAYpB,SAAS,CAAO;IAUhB,SAAS,CAAO;IAEhB,MAAM,CAAC,WAAW,GAAG,IAAI,mCAAiB,CAAC,4BAAW,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,CAAC,OAAO,GAAG,IAAI,mCAAiB,CAAC,oBAAO,EAAE,SAAS,CAAC,CAAC;;AAzG/D,kDA0GC;AAlGG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;+CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;2DACJ;AAGvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,CAAC;sDAClD;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,CAAC,WAAW,EAAE,CAAC;0DAClD;AAGtB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iDACjB;AAGV;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wDACV;AAcjB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kEACF;AAS1B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qDACT;AAOnB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;sDACV;AAOlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;0DACV;AAMlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wDACT;AAOnB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;uDACA;AAO3C;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;4DACR;AAYpB;IAVC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAS;YAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;sDACc;AAUhB;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;sDACc"}
|
|
@@ -49,4 +49,6 @@ export * from './CachedBalance.js';
|
|
|
49
49
|
export * from './AuditLog.js';
|
|
50
50
|
export * from './MemberUser.js';
|
|
51
51
|
export * from './UitpasClientCredential.js';
|
|
52
|
+
export * from './Invoice.js';
|
|
53
|
+
export * from './InvoicedBalanceItem.js';
|
|
52
54
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,eAAe,CAAC;AAC9B,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,eAAe,CAAC;AAC9B,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC"}
|
package/dist/src/models/index.js
CHANGED
|
@@ -64,4 +64,6 @@ tslib_1.__exportStar(require("./CachedBalance.js"), exports);
|
|
|
64
64
|
tslib_1.__exportStar(require("./AuditLog.js"), exports);
|
|
65
65
|
tslib_1.__exportStar(require("./MemberUser.js"), exports);
|
|
66
66
|
tslib_1.__exportStar(require("./UitpasClientCredential.js"), exports);
|
|
67
|
+
tslib_1.__exportStar(require("./Invoice.js"), exports);
|
|
68
|
+
tslib_1.__exportStar(require("./InvoicedBalanceItem.js"), exports);
|
|
67
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,qCAAiC;AAAxB,+FAAA,IAAI,OAAA;AACb,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,sDAA4B;AAC5B,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,qEAA2C;AAE3C,qDAA2B;AAC3B,6DAAmC;AACnC,2DAAiC;AACjC,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AACd,6DAAmC;AACnC,+DAAqC;AACrC,4DAAkC;AAClC,yDAA+B;AAC/B,yDAA+B;AAC/B,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,uCAAkD;AAAzC,iGAAA,KAAK,OAAA;AACd,uDAA6B;AAC7B,wDAA8B;AAC9B,gEAAsC;AACtC,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AAEd,gEAAsC;AACtC,8DAAoC;AACpC,oEAA0C;AAC1C,kEAAwC;AAExC,6DAAmC;AACnC,mEAAyC;AACzC,qEAA2C;AAE3C,wDAA8B;AAC9B,gEAAsC;AAEtC,mEAAyC;AACzC,mEAAyC;AAEzC,wDAA8B;AAC9B,0EAAgD;AAEhD,8EAAoD;AACpD,kEAAwC;AACxC,wEAA8C;AAC9C,qDAA2B;AAC3B,8DAAoC;AACpC,qDAA2B;AAC3B,iEAAuC;AACvC,6DAAmC;AACnC,wDAA8B;AAC9B,0DAAgC;AAEhC,sEAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,qCAAiC;AAAxB,+FAAA,IAAI,OAAA;AACb,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,sDAA4B;AAC5B,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,qEAA2C;AAE3C,qDAA2B;AAC3B,6DAAmC;AACnC,2DAAiC;AACjC,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AACd,6DAAmC;AACnC,+DAAqC;AACrC,4DAAkC;AAClC,yDAA+B;AAC/B,yDAA+B;AAC/B,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,uCAAkD;AAAzC,iGAAA,KAAK,OAAA;AACd,uDAA6B;AAC7B,wDAA8B;AAC9B,gEAAsC;AACtC,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AAEd,gEAAsC;AACtC,8DAAoC;AACpC,oEAA0C;AAC1C,kEAAwC;AAExC,6DAAmC;AACnC,mEAAyC;AACzC,qEAA2C;AAE3C,wDAA8B;AAC9B,gEAAsC;AAEtC,mEAAyC;AACzC,mEAAyC;AAEzC,wDAA8B;AAC9B,0EAAgD;AAEhD,8EAAoD;AACpD,kEAAwC;AACxC,wEAA8C;AAC9C,qDAA2B;AAC3B,8DAAoC;AACpC,qDAA2B;AAC3B,iEAAuC;AACvC,6DAAmC;AACnC,wDAA8B;AAC9B,0DAAgC;AAEhC,sEAA4C;AAE5C,uDAA6B;AAC7B,mEAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/balanceitemfactory.ts","../src/factories/documenttemplatefactory.ts","../src/factories/emailtemplatefactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/eventfactory.ts","../src/factories/eventnotificationfactory.ts","../src/factories/eventnotificationtypefactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/memberresponsibilityrecordfactory.ts","../src/factories/organizationfactory.ts","../src/factories/organizationregistrationperiodfactory.ts","../src/factories/organizationtagfactory.ts","../src/factories/parentfactory.ts","../src/factories/platformeventtypefactory.ts","../src/factories/platformresponsibilityfactory.ts","../src/factories/recordanswerfactory.ts","../src/factories/recordcategoryfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/stpackagefactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/factories/index.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/groupbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.test.ts","../src/models/documenttemplate.ts","../src/models/email.test.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/eventnotification.ts","../src/models/group.ts","../src/models/image.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/memberuser.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.test.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/uitpasclientcredential.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/webshopuitpasnumber.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/balanceitemfactory.ts","../src/factories/documenttemplatefactory.ts","../src/factories/emailtemplatefactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/eventfactory.ts","../src/factories/eventnotificationfactory.ts","../src/factories/eventnotificationtypefactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/memberresponsibilityrecordfactory.ts","../src/factories/organizationfactory.ts","../src/factories/organizationregistrationperiodfactory.ts","../src/factories/organizationtagfactory.ts","../src/factories/parentfactory.ts","../src/factories/platformeventtypefactory.ts","../src/factories/platformresponsibilityfactory.ts","../src/factories/recordanswerfactory.ts","../src/factories/recordcategoryfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/stpackagefactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/factories/index.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/groupbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.test.ts","../src/models/documenttemplate.ts","../src/models/email.test.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/eventnotification.ts","../src/models/group.ts","../src/models/image.ts","../src/models/invoice.ts","../src/models/invoicedbalanceitem.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/memberuser.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.test.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/uitpasclientcredential.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/webshopuitpasnumber.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/models",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.111.0",
|
|
4
4
|
"main": "./dist/src/index.js",
|
|
5
5
|
"types": "./dist/src/index.d.ts",
|
|
6
6
|
"license": "UNLICENCED",
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "21344c902f356539e4034b499b94f54adbe10e50"
|
|
34
34
|
}
|
|
@@ -66,11 +66,19 @@ export class BalanceItem extends QueryableModel {
|
|
|
66
66
|
description = '';
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* @deprecated Use quantity
|
|
70
70
|
*/
|
|
71
71
|
@column({ type: 'integer' })
|
|
72
72
|
amount = 1;
|
|
73
73
|
|
|
74
|
+
get quantity() {
|
|
75
|
+
return this.amount;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
set quantity(quantity: number) {
|
|
79
|
+
this.amount = this.quantity;
|
|
80
|
+
}
|
|
81
|
+
|
|
74
82
|
/**
|
|
75
83
|
* Price per piece
|
|
76
84
|
*
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { column } from '@simonbackx/simple-database';
|
|
2
|
+
import { Company, File, Invoice as InvoiceStruct, PaymentCustomer, VATSubtotal } from '@stamhoofd/structures';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
|
|
5
|
+
import { ArrayDecoder } from '@simonbackx/simple-encoding';
|
|
6
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
7
|
+
import { InvoicedBalanceItem } from './InvoicedBalanceItem.js';
|
|
8
|
+
|
|
9
|
+
export class Invoice extends QueryableModel {
|
|
10
|
+
static table = 'invoices';
|
|
11
|
+
|
|
12
|
+
@column({
|
|
13
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
14
|
+
return value ?? uuidv4();
|
|
15
|
+
},
|
|
16
|
+
})
|
|
17
|
+
id!: string;
|
|
18
|
+
|
|
19
|
+
@column({ type: 'string', nullable: true })
|
|
20
|
+
number: string | null = null;
|
|
21
|
+
|
|
22
|
+
@column({ type: 'json', decoder: PaymentCustomer })
|
|
23
|
+
customer = PaymentCustomer.create({});
|
|
24
|
+
|
|
25
|
+
@column({ type: 'json', decoder: Company })
|
|
26
|
+
seller = Company.create({});
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* seller organization
|
|
30
|
+
*/
|
|
31
|
+
@column({ type: 'string' })
|
|
32
|
+
organizationId: string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Can be null if it is not linked to an organization.
|
|
36
|
+
* This is only used to allow the payer to list their (incoming) invoices.
|
|
37
|
+
*
|
|
38
|
+
* In the future we could expand this with members, users, and/or orders
|
|
39
|
+
*/
|
|
40
|
+
@column({ type: 'string', nullable: true })
|
|
41
|
+
payingOrganizationId: string | null = null;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* This is the rounding amount in cents that is applied to the normal calculation of the invoiced balance items (prices exluding VAT) to come to the actual total price of the invoice.
|
|
45
|
+
*
|
|
46
|
+
* This is visible on the invoice. It is use to correct for differences between the paid price and the calculated invoice price because of rounding issues or things that can't be represented properly in PEPPOL due to rounding
|
|
47
|
+
*
|
|
48
|
+
* - Say we invoice 31 items of 5 euro including VAT, so 4,13 euro excluding VAT. This means InvoicedBalanceItem has
|
|
49
|
+
* - balanceInvoicedAmount = 5 euro
|
|
50
|
+
* - amount = 31_00_00 (31 pieces)
|
|
51
|
+
* - unitPrice = 4_13_00 (4,13 euro excluding VAT, rounded to 1 cent because of PEPPOL)
|
|
52
|
+
* The normal invoiced sum would be 155 euro if we sum balanceInvoicedAmount
|
|
53
|
+
* But the invoice total price will be 128,03 excluding VAT, and 154,92 euro including VAT because of rounding rules (round on total level, not individual item level).
|
|
54
|
+
* In this case payableRoundingAmount would be 0,08 euro, because that is the price that needs to be added to the normal calculation to come to the actual invoice total price that needs to be paid (155 euro).
|
|
55
|
+
* A different solution might be to increase the price excluding VAT of some items by 0,07 euro (or add an extra item on the invoice with the same VAT rate), so the total excluding VAT becomes 128,10 euro, and including VAT 155 euro. This is not always possible though, in some cases we maintain a difference of 1 cent.
|
|
56
|
+
* balanceRoundingAmount would be 0 because there is no difference lower than 1 cent.
|
|
57
|
+
*/
|
|
58
|
+
@column({ type: 'integer' })
|
|
59
|
+
payableRoundingAmount: number = 0;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* List of VAT per VAT rate or category. This is stored in case the calculation changes over time.
|
|
63
|
+
*/
|
|
64
|
+
@column({ type: 'json', decoder: new ArrayDecoder(VATSubtotal) })
|
|
65
|
+
VATTotal: VATSubtotal[] = [];
|
|
66
|
+
|
|
67
|
+
@column({ type: 'integer' })
|
|
68
|
+
VATTotalAmount = 0;
|
|
69
|
+
|
|
70
|
+
@column({ type: 'integer' })
|
|
71
|
+
totalWithoutVAT = 0;
|
|
72
|
+
|
|
73
|
+
@column({ type: 'integer' })
|
|
74
|
+
totalBalanceInvoicedAmount = 0;
|
|
75
|
+
|
|
76
|
+
@column({ type: 'integer' })
|
|
77
|
+
totalWithVAT = 0;
|
|
78
|
+
|
|
79
|
+
@column({ type: 'string', nullable: true })
|
|
80
|
+
ipAddress: string | null = null;
|
|
81
|
+
|
|
82
|
+
@column({ type: 'string', nullable: true })
|
|
83
|
+
userAgent: string | null = null;
|
|
84
|
+
|
|
85
|
+
@column({ type: 'string', nullable: true })
|
|
86
|
+
stripeAccountId: string | null = null;
|
|
87
|
+
|
|
88
|
+
@column({ type: 'string', nullable: true })
|
|
89
|
+
reference: string | null = null;
|
|
90
|
+
|
|
91
|
+
@column({ type: 'json', decoder: File, nullable: true })
|
|
92
|
+
pdf: File | null = null;
|
|
93
|
+
|
|
94
|
+
@column({ type: 'json', decoder: File, nullable: true })
|
|
95
|
+
xml: File | null = null;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* If a invoice was refunded because of a cancellation, we store the negative invoice id here
|
|
99
|
+
*/
|
|
100
|
+
@column({ type: 'string', nullable: true })
|
|
101
|
+
negativeInvoiceId: string | null = null;
|
|
102
|
+
|
|
103
|
+
@column({ type: 'boolean' })
|
|
104
|
+
didSendPeppol = false;
|
|
105
|
+
|
|
106
|
+
@column({
|
|
107
|
+
type: 'datetime', beforeSave(old?: any) {
|
|
108
|
+
if (old !== undefined) {
|
|
109
|
+
return old;
|
|
110
|
+
}
|
|
111
|
+
const date = new Date();
|
|
112
|
+
date.setMilliseconds(0);
|
|
113
|
+
return date;
|
|
114
|
+
},
|
|
115
|
+
})
|
|
116
|
+
createdAt: Date;
|
|
117
|
+
|
|
118
|
+
_forceUpdatedAt: Date | null = null;
|
|
119
|
+
|
|
120
|
+
@column({
|
|
121
|
+
type: 'datetime', beforeSave() {
|
|
122
|
+
if (this._forceUpdatedAt) {
|
|
123
|
+
return this._forceUpdatedAt;
|
|
124
|
+
}
|
|
125
|
+
const date = new Date();
|
|
126
|
+
date.setMilliseconds(0);
|
|
127
|
+
return date;
|
|
128
|
+
},
|
|
129
|
+
skipUpdate: true,
|
|
130
|
+
})
|
|
131
|
+
updatedAt: Date;
|
|
132
|
+
|
|
133
|
+
static async createFrom(organization: { id: string }, struct: InvoiceStruct) {
|
|
134
|
+
const model = new Invoice();
|
|
135
|
+
model.customer = struct.customer;
|
|
136
|
+
model.seller = struct.seller;
|
|
137
|
+
model.organizationId = organization.id;
|
|
138
|
+
model.payingOrganizationId = struct.payingOrganizationId;
|
|
139
|
+
|
|
140
|
+
model.payableRoundingAmount = struct.payableRoundingAmount;
|
|
141
|
+
model.VATTotal = struct.VATTotal;
|
|
142
|
+
model.VATTotalAmount = struct.VATTotalAmount;
|
|
143
|
+
model.totalWithoutVAT = struct.totalWithoutVAT;
|
|
144
|
+
model.totalWithVAT = struct.totalWithVAT;
|
|
145
|
+
model.totalBalanceInvoicedAmount = struct.totalBalanceInvoicedAmount;
|
|
146
|
+
|
|
147
|
+
model.ipAddress = struct.ipAddress;
|
|
148
|
+
model.userAgent = struct.userAgent;
|
|
149
|
+
|
|
150
|
+
model.stripeAccountId = struct.stripeAccountId;
|
|
151
|
+
model.reference = struct.reference;
|
|
152
|
+
|
|
153
|
+
model.negativeInvoiceId = struct.negativeInvoiceId;
|
|
154
|
+
|
|
155
|
+
await model.save();
|
|
156
|
+
|
|
157
|
+
// Create balances
|
|
158
|
+
try {
|
|
159
|
+
for (const item of struct.items) {
|
|
160
|
+
const invoiced = new InvoicedBalanceItem();
|
|
161
|
+
invoiced.invoiceId = model.id;
|
|
162
|
+
invoiced.organizationId = model.organizationId;
|
|
163
|
+
invoiced.balanceItemId = item.balanceItemId;
|
|
164
|
+
|
|
165
|
+
invoiced.VATExcempt = item.VATExcempt;
|
|
166
|
+
invoiced.VATPercentage = item.VATPercentage;
|
|
167
|
+
invoiced.VATIncluded = item.VATIncluded;
|
|
168
|
+
|
|
169
|
+
invoiced.unitPrice = item.unitPrice;
|
|
170
|
+
invoiced.quantity = item.quantity;
|
|
171
|
+
|
|
172
|
+
invoiced.balanceInvoicedAmount = item.balanceInvoicedAmount;
|
|
173
|
+
|
|
174
|
+
invoiced.totalWithoutVAT = item.totalWithoutVAT;
|
|
175
|
+
|
|
176
|
+
await invoiced.save();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
try {
|
|
181
|
+
await model.delete();
|
|
182
|
+
}
|
|
183
|
+
catch (ee) {
|
|
184
|
+
console.error('Error while trying to delete invoice because of fail save', ee, 'Deleting because of error', e);
|
|
185
|
+
}
|
|
186
|
+
throw e;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { column, ManyToOneRelation } from '@simonbackx/simple-database';
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
+
|
|
4
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
5
|
+
import { Invoice } from './Invoice.js';
|
|
6
|
+
import { BalanceItem } from './BalanceItem.js';
|
|
7
|
+
import { VATExcemptReason } from '@stamhoofd/structures';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Keeps track of all the created invoices of a balance item, which contains how many balance was invoiced (including VAT)
|
|
11
|
+
* and also how it was invoiced (since the unit price, quantity etc can't always match the balance items invoiced price due to rounding)
|
|
12
|
+
*/
|
|
13
|
+
export class InvoicedBalanceItem extends QueryableModel {
|
|
14
|
+
static table = 'balance_item_invoices';
|
|
15
|
+
|
|
16
|
+
@column({
|
|
17
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
18
|
+
return value ?? uuidv4();
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
id!: string;
|
|
22
|
+
|
|
23
|
+
@column({ type: 'string' })
|
|
24
|
+
organizationId: string;
|
|
25
|
+
|
|
26
|
+
@column({ type: 'string', foreignKey: InvoicedBalanceItem.invoice })
|
|
27
|
+
invoiceId: string;
|
|
28
|
+
|
|
29
|
+
@column({ type: 'string', foreignKey: InvoicedBalanceItem.balanceItem })
|
|
30
|
+
balanceItemId: string;
|
|
31
|
+
|
|
32
|
+
@column({ type: 'string' })
|
|
33
|
+
name = '';
|
|
34
|
+
|
|
35
|
+
@column({ type: 'string' })
|
|
36
|
+
description = '';
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Price of the balance that was actually invoiced. Always includes VAT.
|
|
40
|
+
*
|
|
41
|
+
* This only explains the due balance that was invoiced so we don't invoice items multiple times. It does not correspond to the visible unit price or price on the invoice.
|
|
42
|
+
*
|
|
43
|
+
* - E.g. if balance item price is 5 euro including VAT (=balanceInvoicedAmount), then unit price would be 4,13 euro. You'll see this causes a rounding issue if the amount is 2, because then the price including VAT of the invoice would be 9,99 instead of 10.
|
|
44
|
+
* - E.g. if balance item price is 0,242 euro including VAT (=balanceInvoicedAmount), then unit price would be 0,20 euro (no rounding issue)
|
|
45
|
+
* - E.g. if balance item price is 0,243 euro including VAT (=balanceInvoicedAmount), then unit price would also be 0,20 euro (rounding issue)
|
|
46
|
+
*
|
|
47
|
+
* Any rounding issues are fixed on the invoice level.
|
|
48
|
+
*/
|
|
49
|
+
@column({ type: 'integer' })
|
|
50
|
+
balanceInvoicedAmount = 0;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* quantity per ten thousand
|
|
54
|
+
* We need to support 4 decimals in case of partial payments.
|
|
55
|
+
* E.g. 10 euro of 30 euro was paid and is invoiced, then the amount would be 0.3333, stored as 3333
|
|
56
|
+
* Mostly for legal reasons, to be able to say wat was actually bought without faking an amount
|
|
57
|
+
*/
|
|
58
|
+
@column({ type: 'integer' })
|
|
59
|
+
quantity = 1_00_00;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Price per piece
|
|
63
|
+
* Always excludes VAT
|
|
64
|
+
*/
|
|
65
|
+
@column({ type: 'integer' })
|
|
66
|
+
unitPrice: number;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
70
|
+
* mistakes can be corrected and credited.
|
|
71
|
+
*/
|
|
72
|
+
@column({ type: 'integer' })
|
|
73
|
+
VATPercentage = 0;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Note: does not apply to unitPrice, only to the balance item at the time of invoicing
|
|
77
|
+
*/
|
|
78
|
+
@column({ type: 'boolean' })
|
|
79
|
+
VATIncluded = true;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
83
|
+
* mistakes can be corrected and credited.
|
|
84
|
+
*/
|
|
85
|
+
@column({ type: 'string', nullable: true })
|
|
86
|
+
VATExcempt: VATExcemptReason | null = null;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* This should be rounded to 2 decimals to match PEPPOL requirements
|
|
90
|
+
* = LineExtensionAmount
|
|
91
|
+
*/
|
|
92
|
+
@column({ type: 'integer' })
|
|
93
|
+
totalWithoutVAT = 0;
|
|
94
|
+
|
|
95
|
+
@column({
|
|
96
|
+
type: 'datetime', beforeSave(old?: any) {
|
|
97
|
+
if (old !== undefined) {
|
|
98
|
+
return old;
|
|
99
|
+
}
|
|
100
|
+
const date = new Date();
|
|
101
|
+
date.setMilliseconds(0);
|
|
102
|
+
return date;
|
|
103
|
+
},
|
|
104
|
+
})
|
|
105
|
+
createdAt: Date;
|
|
106
|
+
|
|
107
|
+
@column({
|
|
108
|
+
type: 'datetime', beforeSave() {
|
|
109
|
+
const date = new Date();
|
|
110
|
+
date.setMilliseconds(0);
|
|
111
|
+
return date;
|
|
112
|
+
},
|
|
113
|
+
skipUpdate: true,
|
|
114
|
+
})
|
|
115
|
+
updatedAt: Date;
|
|
116
|
+
|
|
117
|
+
static balanceItem = new ManyToOneRelation(BalanceItem, 'balanceItem');
|
|
118
|
+
static invoice = new ManyToOneRelation(Invoice, 'invoice');
|
|
119
|
+
}
|