@stamhoofd/structures 2.107.3 → 2.109.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/BalanceItem.d.ts +5 -0
- package/dist/src/BalanceItem.d.ts.map +1 -1
- package/dist/src/BalanceItem.js +10 -1
- package/dist/src/BalanceItem.js.map +1 -1
- package/dist/src/Document.d.ts +1 -0
- package/dist/src/Document.d.ts.map +1 -1
- package/dist/src/Document.js +3 -0
- package/dist/src/Document.js.map +1 -1
- package/dist/src/GenericBalance.d.ts.map +1 -1
- package/dist/src/GenericBalance.js +2 -1
- package/dist/src/GenericBalance.js.map +1 -1
- package/dist/src/GroupType.d.ts +1 -0
- package/dist/src/GroupType.d.ts.map +1 -1
- package/dist/src/GroupType.js +11 -0
- package/dist/src/GroupType.js.map +1 -1
- package/dist/src/Version.d.ts +1 -1
- package/dist/src/Version.js +1 -1
- package/dist/src/billing/Invoice.d.ts +51 -4
- package/dist/src/billing/Invoice.d.ts.map +1 -1
- package/dist/src/billing/Invoice.js +119 -2
- package/dist/src/billing/Invoice.js.map +1 -1
- package/dist/src/billing/InvoicedBalanceItem.d.ts +35 -6
- package/dist/src/billing/InvoicedBalanceItem.d.ts.map +1 -1
- package/dist/src/billing/InvoicedBalanceItem.js +79 -12
- package/dist/src/billing/InvoicedBalanceItem.js.map +1 -1
- package/dist/src/billing/InvoicedBalanceItem.test.d.ts +2 -0
- package/dist/src/billing/InvoicedBalanceItem.test.d.ts.map +1 -0
- package/dist/src/billing/InvoicedBalanceItem.test.js +195 -0
- package/dist/src/billing/InvoicedBalanceItem.test.js.map +1 -0
- package/dist/src/billing/STBillingStatus.d.ts +2 -1
- package/dist/src/billing/STBillingStatus.d.ts.map +1 -1
- package/dist/src/billing/STBillingStatus.js +2 -1
- package/dist/src/billing/STBillingStatus.js.map +1 -1
- package/dist/src/billing/STInvoice.d.ts +2 -125
- package/dist/src/billing/STInvoice.d.ts.map +1 -1
- package/dist/src/billing/STInvoice.js +3 -400
- package/dist/src/billing/STInvoice.js.map +1 -1
- package/dist/src/billing/STInvoiceItem.d.ts +32 -0
- package/dist/src/billing/STInvoiceItem.d.ts.map +1 -0
- package/dist/src/billing/STInvoiceItem.js +169 -0
- package/dist/src/billing/STInvoiceItem.js.map +1 -0
- package/dist/src/billing/STInvoiceMeta.d.ts +63 -0
- package/dist/src/billing/STInvoiceMeta.d.ts.map +1 -0
- package/dist/src/billing/STInvoiceMeta.js +152 -0
- package/dist/src/billing/STInvoiceMeta.js.map +1 -0
- package/dist/src/billing/STInvoicePrivate.d.ts +10 -0
- package/dist/src/billing/STInvoicePrivate.d.ts.map +1 -0
- package/dist/src/billing/STInvoicePrivate.js +51 -0
- package/dist/src/billing/STInvoicePrivate.js.map +1 -0
- package/dist/src/billing/STInvoiceStatus.d.ts +7 -0
- package/dist/src/billing/STInvoiceStatus.d.ts.map +1 -0
- package/dist/src/billing/STInvoiceStatus.js +11 -0
- package/dist/src/billing/STInvoiceStatus.js.map +1 -0
- package/dist/src/billing/STPendingInvoice.d.ts +15 -0
- package/dist/src/billing/STPendingInvoice.d.ts.map +1 -0
- package/dist/src/billing/STPendingInvoice.js +40 -0
- package/dist/src/billing/STPendingInvoice.js.map +1 -0
- package/dist/src/billing/index.d.ts +5 -0
- package/dist/src/billing/index.d.ts.map +1 -1
- package/dist/src/billing/index.js +5 -0
- package/dist/src/billing/index.js.map +1 -1
- package/dist/src/email/EmailTemplate.js +2 -2
- package/dist/src/email/EmailTemplate.js.map +1 -1
- package/dist/src/members/Registration.d.ts +1 -0
- package/dist/src/members/Registration.d.ts.map +1 -1
- package/dist/src/members/Registration.js +4 -0
- package/dist/src/members/Registration.js.map +1 -1
- package/dist/src/members/checkout/RegisterItem.d.ts +5 -0
- package/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
- package/dist/src/members/checkout/RegisterItem.js +60 -5
- package/dist/src/members/checkout/RegisterItem.js.map +1 -1
- package/dist/src/webshops/Checkout.d.ts.map +1 -1
- package/dist/src/webshops/Checkout.js +10 -1
- package/dist/src/webshops/Checkout.js.map +1 -1
- package/esm/dist/src/BalanceItem.d.ts +5 -0
- package/esm/dist/src/BalanceItem.d.ts.map +1 -1
- package/esm/dist/src/BalanceItem.js +10 -1
- package/esm/dist/src/BalanceItem.js.map +1 -1
- package/esm/dist/src/Document.d.ts +1 -0
- package/esm/dist/src/Document.d.ts.map +1 -1
- package/esm/dist/src/Document.js +3 -0
- package/esm/dist/src/Document.js.map +1 -1
- package/esm/dist/src/GenericBalance.d.ts.map +1 -1
- package/esm/dist/src/GenericBalance.js +2 -1
- package/esm/dist/src/GenericBalance.js.map +1 -1
- package/esm/dist/src/GroupType.d.ts +1 -0
- package/esm/dist/src/GroupType.d.ts.map +1 -1
- package/esm/dist/src/GroupType.js +10 -0
- package/esm/dist/src/GroupType.js.map +1 -1
- package/esm/dist/src/Version.d.ts +1 -1
- package/esm/dist/src/Version.js +1 -1
- package/esm/dist/src/billing/Invoice.d.ts +51 -4
- package/esm/dist/src/billing/Invoice.d.ts.map +1 -1
- package/esm/dist/src/billing/Invoice.js +118 -2
- package/esm/dist/src/billing/Invoice.js.map +1 -1
- package/esm/dist/src/billing/InvoicedBalanceItem.d.ts +35 -6
- package/esm/dist/src/billing/InvoicedBalanceItem.d.ts.map +1 -1
- package/esm/dist/src/billing/InvoicedBalanceItem.js +79 -12
- package/esm/dist/src/billing/InvoicedBalanceItem.js.map +1 -1
- package/esm/dist/src/billing/STBillingStatus.d.ts +2 -1
- package/esm/dist/src/billing/STBillingStatus.d.ts.map +1 -1
- package/esm/dist/src/billing/STBillingStatus.js +2 -1
- package/esm/dist/src/billing/STBillingStatus.js.map +1 -1
- package/esm/dist/src/billing/STInvoice.d.ts +2 -125
- package/esm/dist/src/billing/STInvoice.d.ts.map +1 -1
- package/esm/dist/src/billing/STInvoice.js +3 -394
- package/esm/dist/src/billing/STInvoice.js.map +1 -1
- package/esm/dist/src/billing/STInvoiceItem.d.ts +32 -0
- package/esm/dist/src/billing/STInvoiceItem.d.ts.map +1 -0
- package/esm/dist/src/billing/STInvoiceItem.js +165 -0
- package/esm/dist/src/billing/STInvoiceItem.js.map +1 -0
- package/esm/dist/src/billing/STInvoiceMeta.d.ts +63 -0
- package/esm/dist/src/billing/STInvoiceMeta.d.ts.map +1 -0
- package/esm/dist/src/billing/STInvoiceMeta.js +148 -0
- package/esm/dist/src/billing/STInvoiceMeta.js.map +1 -0
- package/esm/dist/src/billing/STInvoicePrivate.d.ts +10 -0
- package/esm/dist/src/billing/STInvoicePrivate.d.ts.map +1 -0
- package/esm/dist/src/billing/STInvoicePrivate.js +47 -0
- package/esm/dist/src/billing/STInvoicePrivate.js.map +1 -0
- package/esm/dist/src/billing/STInvoiceStatus.d.ts +7 -0
- package/esm/dist/src/billing/STInvoiceStatus.d.ts.map +1 -0
- package/esm/dist/src/billing/STInvoiceStatus.js +8 -0
- package/esm/dist/src/billing/STInvoiceStatus.js.map +1 -0
- package/esm/dist/src/billing/STPendingInvoice.d.ts +15 -0
- package/esm/dist/src/billing/STPendingInvoice.d.ts.map +1 -0
- package/esm/dist/src/billing/STPendingInvoice.js +35 -0
- package/esm/dist/src/billing/STPendingInvoice.js.map +1 -0
- package/esm/dist/src/billing/index.d.ts +5 -0
- package/esm/dist/src/billing/index.d.ts.map +1 -1
- package/esm/dist/src/billing/index.js +5 -0
- package/esm/dist/src/billing/index.js.map +1 -1
- package/esm/dist/src/email/EmailTemplate.js +2 -2
- package/esm/dist/src/email/EmailTemplate.js.map +1 -1
- package/esm/dist/src/members/Registration.d.ts +1 -0
- package/esm/dist/src/members/Registration.d.ts.map +1 -1
- package/esm/dist/src/members/Registration.js +4 -0
- package/esm/dist/src/members/Registration.js.map +1 -1
- package/esm/dist/src/members/checkout/RegisterItem.d.ts +5 -0
- package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
- package/esm/dist/src/members/checkout/RegisterItem.js +60 -5
- package/esm/dist/src/members/checkout/RegisterItem.js.map +1 -1
- package/esm/dist/src/webshops/Checkout.d.ts.map +1 -1
- package/esm/dist/src/webshops/Checkout.js +10 -1
- package/esm/dist/src/webshops/Checkout.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,32 @@
|
|
|
1
1
|
import { AutoEncoder } from '@simonbackx/simple-encoding';
|
|
2
|
-
import { VATExcemptReason } from '../BalanceItem.js';
|
|
2
|
+
import { BalanceItem, VATExcemptReason } from '../BalanceItem.js';
|
|
3
3
|
export declare class InvoicedBalanceItem extends AutoEncoder {
|
|
4
4
|
id: string;
|
|
5
5
|
name: string;
|
|
6
6
|
description: string;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Price of the balance that was actually invoiced. Always includes VAT.
|
|
9
|
+
*
|
|
10
|
+
* 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.
|
|
11
|
+
*
|
|
12
|
+
* - 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.
|
|
13
|
+
* - E.g. if balance item price is 0,242 euro including VAT (=balanceInvoicedAmount), then unit price would be 0,20 euro (no rounding issue)
|
|
14
|
+
* - E.g. if balance item price is 0,243 euro including VAT (=balanceInvoicedAmount), then unit price would also be 0,20 euro (rounding issue)
|
|
15
|
+
*
|
|
16
|
+
* Any rounding issues are fixed on the invoice level.
|
|
17
|
+
*/
|
|
18
|
+
balanceInvoicedAmount: number;
|
|
19
|
+
/**
|
|
20
|
+
* quantity per ten thousand.
|
|
21
|
+
* We need to support 4 decimals in case of partial payments.
|
|
22
|
+
* E.g. 3.33 euro of 10 euro was paid and is invoiced, then the amount would be 0.3333, stored as 3333
|
|
23
|
+
* Mostly for legal reasons, to be able to say wat was actually bought without faking an amount
|
|
24
|
+
*/
|
|
25
|
+
quantity: number;
|
|
26
|
+
/**
|
|
27
|
+
* Price per piece
|
|
28
|
+
* Always excludes VAT
|
|
29
|
+
*/
|
|
8
30
|
unitPrice: number;
|
|
9
31
|
/**
|
|
10
32
|
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
@@ -12,8 +34,7 @@ export declare class InvoicedBalanceItem extends AutoEncoder {
|
|
|
12
34
|
*/
|
|
13
35
|
VATPercentage: number;
|
|
14
36
|
/**
|
|
15
|
-
*
|
|
16
|
-
* mistakes can be corrected and credited.
|
|
37
|
+
* Note: does not apply to unitPrice, only to the balance item at the time of invoicing
|
|
17
38
|
*/
|
|
18
39
|
VATIncluded: boolean;
|
|
19
40
|
/**
|
|
@@ -22,8 +43,16 @@ export declare class InvoicedBalanceItem extends AutoEncoder {
|
|
|
22
43
|
*/
|
|
23
44
|
VATExcempt: VATExcemptReason | null;
|
|
24
45
|
/**
|
|
25
|
-
*
|
|
46
|
+
* This should be rounded to 2 decimals to match PEPPOL requirements
|
|
47
|
+
* = LineExtensionAmount
|
|
48
|
+
*/
|
|
49
|
+
get totalWithoutVAT(): number;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a default configuration for a balance item that needs to be invoiced. The result can still be adjusted to correct rounding issues, because
|
|
52
|
+
* a balanace item cannot always be perfectly represented on an invoice (on an invoice rounding happens on invoice level, while balance items can have any price that is not really rounded at any time unless when paid).
|
|
53
|
+
*
|
|
54
|
+
* amount = paid (or to be paid) price, including VAT if there is VAT
|
|
26
55
|
*/
|
|
27
|
-
|
|
56
|
+
static createFor(balanceItem: BalanceItem, amount: number): InvoicedBalanceItem;
|
|
28
57
|
}
|
|
29
58
|
//# sourceMappingURL=InvoicedBalanceItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvoicedBalanceItem.d.ts","sourceRoot":"","sources":["../../../../src/billing/InvoicedBalanceItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqE,MAAM,6BAA6B,CAAC;AAE7H,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"InvoicedBalanceItem.d.ts","sourceRoot":"","sources":["../../../../src/billing/InvoicedBalanceItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqE,MAAM,6BAA6B,CAAC;AAE7H,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,qBAAa,mBAAoB,SAAQ,WAAW;IAEhD,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,SAAM;IAGV,WAAW,SAAM;IAEjB;;;;;;;;;;OAUG;IAEH,qBAAqB,SAAK;IAE1B;;;;;OAKG;IAEH,QAAQ,SAAW;IAEnB;;;OAGG;IAEH,SAAS,SAAK;IAEd;;;OAGG;IAEH,aAAa,EAAE,MAAM,CAAK;IAE1B;;OAEG;IAEH,WAAW,UAAS;IAEpB;;;OAGG;IAEH,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE3C;;;OAGG;IACH,IAAI,eAAe,WAElB;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;CAsC5D"}
|
|
@@ -2,12 +2,35 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { AutoEncoder, BooleanDecoder, EnumDecoder, field, IntegerDecoder, StringDecoder } from '@simonbackx/simple-encoding';
|
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
4
|
import { VATExcemptReason } from '../BalanceItem.js';
|
|
5
|
+
import { SimpleError } from '@simonbackx/simple-errors';
|
|
5
6
|
export class InvoicedBalanceItem extends AutoEncoder {
|
|
6
7
|
constructor() {
|
|
7
8
|
super(...arguments);
|
|
8
9
|
this.name = '';
|
|
9
10
|
this.description = '';
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Price of the balance that was actually invoiced. Always includes VAT.
|
|
13
|
+
*
|
|
14
|
+
* 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.
|
|
15
|
+
*
|
|
16
|
+
* - 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.
|
|
17
|
+
* - E.g. if balance item price is 0,242 euro including VAT (=balanceInvoicedAmount), then unit price would be 0,20 euro (no rounding issue)
|
|
18
|
+
* - E.g. if balance item price is 0,243 euro including VAT (=balanceInvoicedAmount), then unit price would also be 0,20 euro (rounding issue)
|
|
19
|
+
*
|
|
20
|
+
* Any rounding issues are fixed on the invoice level.
|
|
21
|
+
*/
|
|
22
|
+
this.balanceInvoicedAmount = 1;
|
|
23
|
+
/**
|
|
24
|
+
* quantity per ten thousand.
|
|
25
|
+
* We need to support 4 decimals in case of partial payments.
|
|
26
|
+
* E.g. 3.33 euro of 10 euro was paid and is invoiced, then the amount would be 0.3333, stored as 3333
|
|
27
|
+
* Mostly for legal reasons, to be able to say wat was actually bought without faking an amount
|
|
28
|
+
*/
|
|
29
|
+
this.quantity = 10000;
|
|
30
|
+
/**
|
|
31
|
+
* Price per piece
|
|
32
|
+
* Always excludes VAT
|
|
33
|
+
*/
|
|
11
34
|
this.unitPrice = 0;
|
|
12
35
|
/**
|
|
13
36
|
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
@@ -15,19 +38,63 @@ export class InvoicedBalanceItem extends AutoEncoder {
|
|
|
15
38
|
*/
|
|
16
39
|
this.VATPercentage = 0;
|
|
17
40
|
/**
|
|
18
|
-
*
|
|
19
|
-
* mistakes can be corrected and credited.
|
|
41
|
+
* Note: does not apply to unitPrice, only to the balance item at the time of invoicing
|
|
20
42
|
*/
|
|
21
|
-
this.VATIncluded =
|
|
43
|
+
this.VATIncluded = false;
|
|
22
44
|
/**
|
|
23
45
|
* This is duplicated to allow altering the vat percentage of the corresponding balance item later, so
|
|
24
46
|
* mistakes can be corrected and credited.
|
|
25
47
|
*/
|
|
26
48
|
this.VATExcempt = null;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* This should be rounded to 2 decimals to match PEPPOL requirements
|
|
52
|
+
* = LineExtensionAmount
|
|
53
|
+
*/
|
|
54
|
+
get totalWithoutVAT() {
|
|
55
|
+
return Math.round(this.unitPrice * this.quantity / 1000000) * 100;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates a default configuration for a balance item that needs to be invoiced. The result can still be adjusted to correct rounding issues, because
|
|
59
|
+
* a balanace item cannot always be perfectly represented on an invoice (on an invoice rounding happens on invoice level, while balance items can have any price that is not really rounded at any time unless when paid).
|
|
60
|
+
*
|
|
61
|
+
* amount = paid (or to be paid) price, including VAT if there is VAT
|
|
62
|
+
*/
|
|
63
|
+
static createFor(balanceItem, amount) {
|
|
64
|
+
var _a;
|
|
65
|
+
if (balanceItem.VATPercentage === null) {
|
|
66
|
+
throw new SimpleError({
|
|
67
|
+
message: 'Cannot create InvoicedBalanceItem for balance item without VAT percentage',
|
|
68
|
+
human: $t('3c6a76c8-1fc4-4fc3-b1b0-9eca083a0c64'),
|
|
69
|
+
code: 'balance_item_without_vat_percentage',
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const item = new InvoicedBalanceItem();
|
|
73
|
+
item.name = balanceItem.itemTitle;
|
|
74
|
+
item.description = (_a = balanceItem.itemDescription) !== null && _a !== void 0 ? _a : '';
|
|
75
|
+
item.balanceInvoicedAmount = amount;
|
|
76
|
+
item.VATPercentage = balanceItem.VATPercentage;
|
|
77
|
+
item.VATExcempt = balanceItem.VATExcempt;
|
|
78
|
+
item.VATIncluded = balanceItem.VATIncluded;
|
|
79
|
+
// Calculate amount and unit price
|
|
80
|
+
const balanceItemUnitPriceWithVAT = Math.round(balanceItem.priceWithVAT / balanceItem.quantity);
|
|
81
|
+
const quantity = Math.round(item.balanceInvoicedAmount * 10000 / balanceItemUnitPriceWithVAT); // Amount per ten thousand
|
|
82
|
+
if (quantity <= 0) {
|
|
83
|
+
throw new SimpleError({
|
|
84
|
+
message: 'Invoiced amount is too low to create an invoiced balance item',
|
|
85
|
+
human: $t('551f6cc0-0b1a-4a62-8e09-cef159f5f7d5'),
|
|
86
|
+
code: 'invoiced_amount_too_low',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
item.quantity = quantity;
|
|
90
|
+
item.unitPrice = amount * 10000 / quantity;
|
|
91
|
+
// Remove VAT from unit price if needed
|
|
92
|
+
if (!balanceItem.VATExcempt) {
|
|
93
|
+
item.unitPrice = item.unitPrice * 100 / (100 + balanceItem.VATPercentage);
|
|
94
|
+
}
|
|
95
|
+
// Round unitPrice to 1 cent (= PEPPOL requirement)
|
|
96
|
+
item.unitPrice = Math.round(item.unitPrice / 100) * 100;
|
|
97
|
+
return item;
|
|
31
98
|
}
|
|
32
99
|
}
|
|
33
100
|
__decorate([
|
|
@@ -41,7 +108,10 @@ __decorate([
|
|
|
41
108
|
], InvoicedBalanceItem.prototype, "description", void 0);
|
|
42
109
|
__decorate([
|
|
43
110
|
field({ decoder: IntegerDecoder })
|
|
44
|
-
], InvoicedBalanceItem.prototype, "
|
|
111
|
+
], InvoicedBalanceItem.prototype, "balanceInvoicedAmount", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
field({ decoder: IntegerDecoder })
|
|
114
|
+
], InvoicedBalanceItem.prototype, "quantity", void 0);
|
|
45
115
|
__decorate([
|
|
46
116
|
field({ decoder: IntegerDecoder })
|
|
47
117
|
], InvoicedBalanceItem.prototype, "unitPrice", void 0);
|
|
@@ -54,7 +124,4 @@ __decorate([
|
|
|
54
124
|
__decorate([
|
|
55
125
|
field({ decoder: new EnumDecoder(VATExcemptReason), nullable: true })
|
|
56
126
|
], InvoicedBalanceItem.prototype, "VATExcempt", void 0);
|
|
57
|
-
__decorate([
|
|
58
|
-
field({ decoder: IntegerDecoder })
|
|
59
|
-
], InvoicedBalanceItem.prototype, "pricePaid", void 0);
|
|
60
127
|
//# sourceMappingURL=InvoicedBalanceItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvoicedBalanceItem.js","sourceRoot":"","sources":["../../../../src/billing/InvoicedBalanceItem.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC7H,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"InvoicedBalanceItem.js","sourceRoot":"","sources":["../../../../src/billing/InvoicedBalanceItem.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC7H,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAe,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAApD;;QAKI,SAAI,GAAG,EAAE,CAAC;QAGV,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;;;;;;;WAUG;QAEH,0BAAqB,GAAG,CAAC,CAAC;QAE1B;;;;;WAKG;QAEH,aAAQ,GAAG,KAAO,CAAC;QAEnB;;;WAGG;QAEH,cAAS,GAAG,CAAC,CAAC;QAEd;;;WAGG;QAEH,kBAAa,GAAW,CAAC,CAAC;QAE1B;;WAEG;QAEH,gBAAW,GAAG,KAAK,CAAC;QAEpB;;;WAGG;QAEH,eAAU,GAA4B,IAAI,CAAC;IAsD/C,CAAC;IApDG;;;OAGG;IACH,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAU,CAAC,GAAG,GAAG,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,WAAwB,EAAE,MAAc;;QACrD,IAAI,WAAW,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC;gBAClB,OAAO,EAAE,2EAA2E;gBACpF,KAAK,EAAE,EAAE,CAAC,sCAAsC,CAAC;gBACjD,IAAI,EAAE,qCAAqC;aAC9C,CAAC,CAAC;QACP,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,MAAA,WAAW,CAAC,eAAe,mCAAI,EAAE,CAAC;QACrD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAE3C,kCAAkC;QAClC,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAO,GAAG,2BAA2B,CAAC,CAAC,CAAC,0BAA0B;QAC3H,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,WAAW,CAAC;gBAClB,OAAO,EAAE,+DAA+D;gBACxE,KAAK,EAAE,EAAE,CAAC,sCAAsC,CAAC;gBACjD,IAAI,EAAE,yBAAyB;aAClC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,KAAO,GAAG,QAAQ,CAAC;QAE7C,uCAAuC;QACvC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9E,CAAC;QACD,mDAAmD;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9GG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;+CACrD;AAGX;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;iDACxB;AAGV;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;wDACjB;AAcjB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;kEACT;AAS1B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;qDAChB;AAOnB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;sDACrB;AAOd;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;0DACT;AAM1B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;wDACf;AAOpB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;uDAC3B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AutoEncoder } from '@simonbackx/simple-encoding';
|
|
2
2
|
import { STCredit } from './STCredit.js';
|
|
3
|
-
import { STInvoice
|
|
3
|
+
import { STInvoice } from './STInvoice.js';
|
|
4
4
|
import { STPackage } from './STPackage.js';
|
|
5
5
|
import { OrganizationPaymentMandate } from './OrganizationPaymentMandate.js';
|
|
6
|
+
import { STPendingInvoice } from './STPendingInvoice.js';
|
|
6
7
|
export declare class STBillingStatus extends AutoEncoder {
|
|
7
8
|
invoices: STInvoice[];
|
|
8
9
|
packages: STPackage[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"STBillingStatus.d.ts","sourceRoot":"","sources":["../../../../src/billing/STBillingStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAS,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"STBillingStatus.d.ts","sourceRoot":"","sources":["../../../../src/billing/STBillingStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAS,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,WAAW;IAE5C,QAAQ,EAAE,SAAS,EAAE,CAAC;IAGtB,QAAQ,EAAE,SAAS,EAAE,CAAC;IAGtB,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAGxC,OAAO,EAAE,QAAQ,EAAE,CAAC;IAGpB,QAAQ,EAAE,0BAA0B,EAAE,CAAM;CAC/C"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ArrayDecoder, AutoEncoder, field } from '@simonbackx/simple-encoding';
|
|
3
3
|
import { STCredit } from './STCredit.js';
|
|
4
|
-
import { STInvoice
|
|
4
|
+
import { STInvoice } from './STInvoice.js';
|
|
5
5
|
import { STPackage } from './STPackage.js';
|
|
6
6
|
import { OrganizationPaymentMandate } from './OrganizationPaymentMandate.js';
|
|
7
|
+
import { STPendingInvoice } from './STPendingInvoice.js';
|
|
7
8
|
export class STBillingStatus extends AutoEncoder {
|
|
8
9
|
constructor() {
|
|
9
10
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"STBillingStatus.js","sourceRoot":"","sources":["../../../../src/billing/STBillingStatus.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"STBillingStatus.js","sourceRoot":"","sources":["../../../../src/billing/STBillingStatus.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAAhD;;QAcI,aAAQ,GAAiC,EAAE,CAAC;IAChD,CAAC;CAAA;AAbG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;iDAC1B;AAGtB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;iDAC1B;AAGtB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;uDACb;AAGxC;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gDAC3B;AAGpB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,0BAA0B,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iDACrC"}
|
|
@@ -1,106 +1,6 @@
|
|
|
1
1
|
import { AutoEncoder } from '@simonbackx/simple-encoding';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Payment, Settlement } from '../members/Payment.js';
|
|
5
|
-
import { OrganizationSimple } from '../OrganizationSimple.js';
|
|
6
|
-
import { STPackage } from './STPackage.js';
|
|
7
|
-
export declare enum STInvoiceStatus {
|
|
8
|
-
Created = "Created",
|
|
9
|
-
Prepared = "Prepared",
|
|
10
|
-
Completed = "Completed",
|
|
11
|
-
Canceled = "Canceled"
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated use Invoice
|
|
15
|
-
*/
|
|
16
|
-
export declare class STInvoiceItem extends AutoEncoder {
|
|
17
|
-
id: string;
|
|
18
|
-
name: string;
|
|
19
|
-
description: string;
|
|
20
|
-
amount: number;
|
|
21
|
-
unitPrice: number;
|
|
22
|
-
canUseCredits: boolean;
|
|
23
|
-
firstFailedPayment: Date | null;
|
|
24
|
-
paymentFailedCount: number;
|
|
25
|
-
get price(): number;
|
|
26
|
-
/**
|
|
27
|
-
* All data of the original package that is linked to this item
|
|
28
|
-
*/
|
|
29
|
-
package?: STPackage;
|
|
30
|
-
/**
|
|
31
|
-
* Date the item was created/bought
|
|
32
|
-
*/
|
|
33
|
-
date?: Date;
|
|
34
|
-
/**
|
|
35
|
-
* Convertable into STInvoiceItem (or the diffence if amount is increased)
|
|
36
|
-
* Use this to calculate prices or create an invoice
|
|
37
|
-
* This will calculate the price to expand the package to the given amount.
|
|
38
|
-
* If you want to renew a package, you need to create a new package first
|
|
39
|
-
*/
|
|
40
|
-
static fromPackage(pack: STPackage, amount?: number, pendingAmount?: number, date?: Date): STInvoiceItem;
|
|
41
|
-
canMerge(other: STInvoiceItem): boolean;
|
|
42
|
-
merge(other: STInvoiceItem): void;
|
|
43
|
-
static compress(items: STInvoiceItem[]): STInvoiceItem[];
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* @deprecated use Invoice
|
|
47
|
-
*/
|
|
48
|
-
export declare class STInvoiceMeta extends AutoEncoder {
|
|
49
|
-
/**
|
|
50
|
-
* Date the invoice was valid and given a number.
|
|
51
|
-
*/
|
|
52
|
-
date?: Date;
|
|
53
|
-
/**
|
|
54
|
-
* Only set if the invoice is officially generated and send
|
|
55
|
-
*/
|
|
56
|
-
pdf?: File;
|
|
57
|
-
/**
|
|
58
|
-
* Only set if the invoice is officially generated and send + company has VAT number
|
|
59
|
-
*/
|
|
60
|
-
xml?: File;
|
|
61
|
-
/**
|
|
62
|
-
* VATPercentage should be zero in countries outside Belgium in EU
|
|
63
|
-
*/
|
|
64
|
-
VATPercentage: number;
|
|
65
|
-
items: STInvoiceItem[];
|
|
66
|
-
/**
|
|
67
|
-
* Sometimes we need to calculate an invoice in reverse when we have a fixed price including VAT,
|
|
68
|
-
* but need to calculatle the price excluding VAT.
|
|
69
|
-
*/
|
|
70
|
-
areItemsIncludingVAT: boolean;
|
|
71
|
-
companyName: string;
|
|
72
|
-
companyContact: string;
|
|
73
|
-
companyAddress: Address;
|
|
74
|
-
companyVATNumber: string | null;
|
|
75
|
-
companyNumber: string | null;
|
|
76
|
-
ipAddress: string | null;
|
|
77
|
-
userAgent: string | null;
|
|
78
|
-
stripeAccountId: string | null;
|
|
79
|
-
/**
|
|
80
|
-
* @deprecated
|
|
81
|
-
* Depending on areItemsIncludingVAT, this can either be including or excluding VAT
|
|
82
|
-
*/
|
|
83
|
-
private get itemPrice();
|
|
84
|
-
includingVATToExcludingVAT(price: number): number;
|
|
85
|
-
excludingVATToIncludingVAT(price: number): number;
|
|
86
|
-
getVATOnIncludingVATAmount(price: number): number;
|
|
87
|
-
getVATOnExcludingVATAmount(price: number): number;
|
|
88
|
-
get useLegacyRounding(): boolean;
|
|
89
|
-
get priceWithoutVAT(): number;
|
|
90
|
-
get VAT(): number;
|
|
91
|
-
get priceWithVAT(): number;
|
|
92
|
-
/**
|
|
93
|
-
* How much to add or remove to priceWithVAT to get to the payable amount. We can get a rounding error of 1 cent positive or negative if we calculate from a given price inclusive VAT.
|
|
94
|
-
*
|
|
95
|
-
* 1 cent if we need to add 1 cent
|
|
96
|
-
* -1 cent if we need to remove 1 cent from the priceWithVAT to get to the payable amount
|
|
97
|
-
*/
|
|
98
|
-
get payableRoundingAmount(): number;
|
|
99
|
-
get totalPrice(): number;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* @deprecated use Invoice
|
|
103
|
-
*/
|
|
2
|
+
import { Payment } from '../members/Payment.js';
|
|
3
|
+
import { STInvoiceMeta } from './STInvoiceMeta.js';
|
|
104
4
|
export declare class STInvoice extends AutoEncoder {
|
|
105
5
|
/**
|
|
106
6
|
* This ID is empty for a pending invoice
|
|
@@ -118,27 +18,4 @@ export declare class STInvoice extends AutoEncoder {
|
|
|
118
18
|
negativeInvoiceId: string | null;
|
|
119
19
|
didSendPeppol: boolean;
|
|
120
20
|
}
|
|
121
|
-
/**
|
|
122
|
-
* @deprecated use Invoice
|
|
123
|
-
*/
|
|
124
|
-
export declare class STInvoicePrivate extends STInvoice {
|
|
125
|
-
organization?: OrganizationSimple;
|
|
126
|
-
settlement: Settlement | null;
|
|
127
|
-
reference: string | null;
|
|
128
|
-
matchQuery(query: string): boolean;
|
|
129
|
-
}
|
|
130
|
-
export declare class STPendingInvoice extends AutoEncoder {
|
|
131
|
-
id: string | null;
|
|
132
|
-
meta: STInvoiceMeta;
|
|
133
|
-
invoice: STInvoice | null;
|
|
134
|
-
createdAt: Date | null;
|
|
135
|
-
updatedAt: Date | null;
|
|
136
|
-
}
|
|
137
|
-
export declare class STPendingInvoicePrivate extends STPendingInvoice {
|
|
138
|
-
organization?: OrganizationSimple;
|
|
139
|
-
}
|
|
140
|
-
export declare class STInvoiceResponse extends AutoEncoder {
|
|
141
|
-
paymentUrl?: string;
|
|
142
|
-
invoice?: STInvoice;
|
|
143
|
-
}
|
|
144
21
|
//# sourceMappingURL=STInvoice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"STInvoice.d.ts","sourceRoot":"","sources":["../../../../src/billing/STInvoice.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"STInvoice.d.ts","sourceRoot":"","sources":["../../../../src/billing/STInvoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqE,MAAM,6BAA6B,CAAC;AAG7H,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,SAAU,SAAQ,WAAW;IACtC;;OAEG;IAEH,EAAE,EAAE,MAAM,CAAC;IAGX,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IAG/B,IAAI,EAAE,aAAa,CAAC;IAEpB;;OAEG;IAEH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG7B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG9B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG9B,MAAM,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGxC,aAAa,UAAS;CACzB"}
|