@accounter/server 0.0.9-alpha-20251231083050-a0e737863ca2a9fa68506d15357e55d9287972cb → 0.0.9-alpha-20251231163357-33d4c33fec5e21dad2e04d1f293f6248d2550588

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +27 -5
  2. package/README.md +66 -3
  3. package/dist/server/scripts/seed-admin-context.js +20 -25
  4. package/dist/server/scripts/seed-admin-context.js.map +1 -1
  5. package/dist/server/src/__tests__/db-bootstrap.test.js +7 -2
  6. package/dist/server/src/__tests__/db-bootstrap.test.js.map +1 -1
  7. package/dist/server/src/__tests__/factories/business.d.ts +1 -1
  8. package/dist/server/src/__tests__/factories/financial-account.d.ts +1 -1
  9. package/dist/server/src/__tests__/factories/index.test.js +1 -0
  10. package/dist/server/src/__tests__/factories/index.test.js.map +1 -1
  11. package/dist/server/src/__tests__/factories/tax-category.d.ts +1 -1
  12. package/dist/server/src/__tests__/factories/tax-category.js +1 -1
  13. package/dist/server/src/__tests__/factories/tax-category.js.map +1 -1
  14. package/dist/server/src/__tests__/factories/tax-category.test.js +8 -6
  15. package/dist/server/src/__tests__/factories/tax-category.test.js.map +1 -1
  16. package/dist/server/src/__tests__/helpers/fixture-loader.d.ts +1 -1
  17. package/dist/server/src/__tests__/helpers/fixture-loader.js +25 -52
  18. package/dist/server/src/__tests__/helpers/fixture-loader.js.map +1 -1
  19. package/dist/server/src/__tests__/helpers/migration-verification.d.ts +1 -1
  20. package/dist/server/src/__tests__/helpers/migration-verification.js.map +1 -1
  21. package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js +4 -4
  22. package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js.map +1 -1
  23. package/dist/server/src/__tests__/helpers/seed-helpers.d.ts +9 -9
  24. package/dist/server/src/__tests__/helpers/seed-helpers.js +57 -54
  25. package/dist/server/src/__tests__/helpers/seed-helpers.js.map +1 -1
  26. package/dist/server/src/__tests__/seed-admin-context.integration.test.js +2 -1
  27. package/dist/server/src/__tests__/seed-admin-context.integration.test.js.map +1 -1
  28. package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js +3 -2
  29. package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js.map +1 -1
  30. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.d.ts +1 -0
  31. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.js +69 -0
  32. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.js.map +1 -0
  33. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.d.ts +1 -0
  34. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.js +26 -0
  35. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.js.map +1 -0
  36. package/dist/server/src/demo-fixtures/helpers/admin-context.d.ts +10 -0
  37. package/dist/server/src/demo-fixtures/helpers/admin-context.js +40 -0
  38. package/dist/server/src/demo-fixtures/helpers/admin-context.js.map +1 -0
  39. package/dist/server/src/demo-fixtures/helpers/placeholder.d.ts +45 -0
  40. package/dist/server/src/demo-fixtures/helpers/placeholder.js +50 -0
  41. package/dist/server/src/demo-fixtures/helpers/placeholder.js.map +1 -0
  42. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.d.ts +21 -0
  43. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.js +26 -0
  44. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.js.map +1 -0
  45. package/dist/server/src/demo-fixtures/helpers/seed-vat.d.ts +20 -0
  46. package/dist/server/src/demo-fixtures/helpers/seed-vat.js +30 -0
  47. package/dist/server/src/demo-fixtures/helpers/seed-vat.js.map +1 -0
  48. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.d.ts +9 -0
  49. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.js +86 -0
  50. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.js.map +1 -0
  51. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.d.ts +12 -0
  52. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.js +375 -0
  53. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.js.map +1 -0
  54. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.d.ts +10 -0
  55. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.js +113 -0
  56. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.js.map +1 -0
  57. package/dist/server/src/demo-fixtures/use-cases/index.d.ts +41 -0
  58. package/dist/server/src/demo-fixtures/use-cases/index.js +50 -0
  59. package/dist/server/src/demo-fixtures/use-cases/index.js.map +1 -0
  60. package/dist/server/src/demo-fixtures/validate-demo-data.d.ts +1 -0
  61. package/dist/server/src/demo-fixtures/validate-demo-data.js +117 -0
  62. package/dist/server/src/demo-fixtures/validate-demo-data.js.map +1 -0
  63. package/dist/server/src/demo-fixtures/validators/ledger-validators.d.ts +349 -0
  64. package/dist/server/src/demo-fixtures/validators/ledger-validators.js +602 -0
  65. package/dist/server/src/demo-fixtures/validators/ledger-validators.js.map +1 -0
  66. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.d.ts +1 -0
  67. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.js +247 -0
  68. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.js.map +1 -0
  69. package/dist/server/src/demo-fixtures/validators/types.d.ts +69 -0
  70. package/dist/server/src/demo-fixtures/validators/types.js +8 -0
  71. package/dist/server/src/demo-fixtures/validators/types.js.map +1 -0
  72. package/dist/server/src/fixtures/fixture-spec.d.ts +146 -0
  73. package/dist/server/src/fixtures/fixture-spec.js +2 -0
  74. package/dist/server/src/fixtures/fixture-spec.js.map +1 -0
  75. package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js +4 -0
  76. package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js.map +1 -1
  77. package/dist/server/src/modules/deel/resolvers/deel.resolvers.js +0 -3
  78. package/dist/server/src/modules/deel/resolvers/deel.resolvers.js.map +1 -1
  79. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js +4 -3
  80. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js.map +1 -1
  81. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js +5 -3
  82. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js.map +1 -1
  83. package/dist/server/src/shared/constants.d.ts +1 -0
  84. package/dist/server/src/shared/constants.js +1 -0
  85. package/dist/server/src/shared/constants.js.map +1 -1
  86. package/dist/server/src/shared/helpers/misc.js +2 -2
  87. package/dist/server/src/shared/helpers/misc.js.map +1 -1
  88. package/docs/demo-staging-guide.md +611 -0
  89. package/package.json +6 -3
  90. package/scripts/seed-admin-context.ts +22 -33
  91. package/src/__tests__/db-bootstrap.test.ts +9 -2
  92. package/src/__tests__/factories/business.ts +1 -1
  93. package/src/__tests__/factories/financial-account.ts +1 -1
  94. package/src/__tests__/factories/index.test.ts +1 -0
  95. package/src/__tests__/factories/tax-category.test.ts +8 -6
  96. package/src/__tests__/factories/tax-category.ts +2 -2
  97. package/src/__tests__/helpers/fixture-loader.ts +26 -61
  98. package/src/__tests__/helpers/migration-verification.ts +2 -2
  99. package/src/__tests__/helpers/seed-helpers.business.test.ts +4 -4
  100. package/src/__tests__/helpers/seed-helpers.ts +66 -75
  101. package/src/__tests__/seed-admin-context.integration.test.ts +2 -1
  102. package/src/demo-fixtures/__tests__/deterministic-uuid.test.ts +3 -2
  103. package/src/demo-fixtures/__tests__/seed-and-validate.test.ts +96 -0
  104. package/src/demo-fixtures/__tests__/use-case-registry.test.ts +27 -0
  105. package/src/demo-fixtures/helpers/admin-context.ts +59 -0
  106. package/src/demo-fixtures/helpers/placeholder.ts +50 -0
  107. package/src/demo-fixtures/helpers/seed-exchange-rates.ts +29 -0
  108. package/src/demo-fixtures/helpers/seed-vat.ts +35 -0
  109. package/src/demo-fixtures/use-cases/equity/shareholder-dividend.ts +88 -0
  110. package/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.ts +377 -0
  111. package/src/demo-fixtures/use-cases/income/client-payment-with-refund.ts +115 -0
  112. package/src/demo-fixtures/use-cases/index.ts +52 -0
  113. package/src/demo-fixtures/validate-demo-data.ts +153 -0
  114. package/src/demo-fixtures/validators/README.md +190 -0
  115. package/src/demo-fixtures/validators/ledger-validators.test.ts +298 -0
  116. package/src/demo-fixtures/validators/ledger-validators.ts +711 -0
  117. package/src/demo-fixtures/validators/types.ts +83 -0
  118. package/src/fixtures/fixture-spec.ts +158 -0
  119. package/src/modules/charges-matcher/__tests__/single-match-integration.test.ts +6 -0
  120. package/src/modules/deel/resolvers/deel.resolvers.ts +0 -3
  121. package/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.ts +4 -3
  122. package/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.ts +6 -3
  123. package/src/shared/constants.ts +2 -0
  124. package/src/shared/helpers/misc.ts +2 -3
@@ -0,0 +1,375 @@
1
+ import { CountryCode, Currency } from '../../../shared/enums.js';
2
+ import { makeUUID } from '../../helpers/deterministic-uuid.js';
3
+ /**
4
+ * Monthly Expense Use-Case: Foreign Currency Transaction
5
+ *
6
+ * Demonstrates a US-based supplier invoice paid via bank transfer with
7
+ * exchange rate conversion from USD to ILS. This use-case validates:
8
+ * - Foreign currency transaction handling
9
+ * - Exchange rate application
10
+ * - Cross-border payment processing
11
+ * - Ledger generation with currency conversion
12
+ */
13
+ export const monthlyExpenseForeignCurrency = {
14
+ id: 'monthly-expense-foreign-currency',
15
+ name: 'Monthly Expense (Foreign Currency)',
16
+ description: 'US-based supplier invoice paid via bank transfer with exchange rate conversion from USD to ILS. Validates foreign currency handling and ledger generation.',
17
+ category: 'expenses',
18
+ fixtures: {
19
+ businesses: [
20
+ {
21
+ id: makeUUID('business', 'us-supplier-acme-llc'),
22
+ name: 'Acme Consulting LLC',
23
+ country: CountryCode['United States of America (the)'],
24
+ canSettleWithReceipt: false,
25
+ },
26
+ ],
27
+ taxCategories: [
28
+ {
29
+ id: makeUUID('tax-category', 'consulting-expenses'),
30
+ name: 'Consulting Expenses',
31
+ },
32
+ ],
33
+ financialAccounts: [
34
+ {
35
+ id: makeUUID('financial-account', 'bank-usd-account'),
36
+ accountNumber: '123-456-7890',
37
+ type: 'BANK_ACCOUNT',
38
+ currency: Currency.Usd,
39
+ taxCategoryMappings: [
40
+ {
41
+ taxCategoryId: makeUUID('tax-category', 'consulting-expenses'),
42
+ currency: Currency.Usd,
43
+ },
44
+ ],
45
+ },
46
+ ],
47
+ charges: [
48
+ {
49
+ id: makeUUID('charge', 'consulting-invoice-2024-01'),
50
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
51
+ userDescription: 'January consulting services',
52
+ },
53
+ {
54
+ id: makeUUID('charge', 'consulting-invoice-2024-02'),
55
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
56
+ userDescription: 'February consulting services',
57
+ },
58
+ {
59
+ id: makeUUID('charge', 'consulting-invoice-2024-03'),
60
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
61
+ userDescription: 'March consulting services',
62
+ },
63
+ {
64
+ id: makeUUID('charge', 'consulting-invoice-2024-04'),
65
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
66
+ userDescription: 'April consulting services',
67
+ },
68
+ {
69
+ id: makeUUID('charge', 'consulting-invoice-2024-05'),
70
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
71
+ userDescription: 'May consulting services',
72
+ },
73
+ {
74
+ id: makeUUID('charge', 'consulting-invoice-2024-06'),
75
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
76
+ userDescription: 'June consulting services',
77
+ },
78
+ {
79
+ id: makeUUID('charge', 'consulting-invoice-2024-07'),
80
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
81
+ userDescription: 'July consulting services',
82
+ },
83
+ {
84
+ id: makeUUID('charge', 'consulting-invoice-2024-08'),
85
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
86
+ userDescription: 'August consulting services',
87
+ },
88
+ {
89
+ id: makeUUID('charge', 'consulting-invoice-2024-09'),
90
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
91
+ userDescription: 'September consulting services',
92
+ },
93
+ {
94
+ id: makeUUID('charge', 'consulting-invoice-2024-10'),
95
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
96
+ userDescription: 'October consulting services',
97
+ },
98
+ {
99
+ id: makeUUID('charge', 'consulting-invoice-2024-11'),
100
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
101
+ userDescription: 'November consulting services',
102
+ },
103
+ {
104
+ id: makeUUID('charge', 'consulting-invoice-2024-12'),
105
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
106
+ userDescription: 'December consulting services',
107
+ },
108
+ ],
109
+ transactions: [
110
+ {
111
+ id: makeUUID('transaction', 'consulting-payment-usd-01'),
112
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-01'),
113
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
114
+ amount: '-500.00',
115
+ currency: Currency.Usd,
116
+ eventDate: '2024-01-15',
117
+ debitDate: '2024-01-15',
118
+ accountNumber: '123-456-7890',
119
+ },
120
+ {
121
+ id: makeUUID('transaction', 'consulting-payment-usd-02'),
122
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-02'),
123
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
124
+ amount: '-500.00',
125
+ currency: Currency.Usd,
126
+ eventDate: '2024-02-15',
127
+ debitDate: '2024-02-15',
128
+ accountNumber: '123-456-7890',
129
+ },
130
+ {
131
+ id: makeUUID('transaction', 'consulting-payment-usd-03'),
132
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-03'),
133
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
134
+ amount: '-500.00',
135
+ currency: Currency.Usd,
136
+ eventDate: '2024-03-15',
137
+ debitDate: '2024-03-15',
138
+ accountNumber: '123-456-7890',
139
+ },
140
+ {
141
+ id: makeUUID('transaction', 'consulting-payment-usd-04'),
142
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-04'),
143
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
144
+ amount: '-500.00',
145
+ currency: Currency.Usd,
146
+ eventDate: '2024-04-15',
147
+ debitDate: '2024-04-15',
148
+ accountNumber: '123-456-7890',
149
+ },
150
+ {
151
+ id: makeUUID('transaction', 'consulting-payment-usd-05'),
152
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-05'),
153
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
154
+ amount: '-500.00',
155
+ currency: Currency.Usd,
156
+ eventDate: '2024-05-15',
157
+ debitDate: '2024-05-15',
158
+ accountNumber: '123-456-7890',
159
+ },
160
+ {
161
+ id: makeUUID('transaction', 'consulting-payment-usd-06'),
162
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-06'),
163
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
164
+ amount: '-500.00',
165
+ currency: Currency.Usd,
166
+ eventDate: '2024-06-15',
167
+ debitDate: '2024-06-15',
168
+ accountNumber: '123-456-7890',
169
+ },
170
+ {
171
+ id: makeUUID('transaction', 'consulting-payment-usd-07'),
172
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-07'),
173
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
174
+ amount: '-500.00',
175
+ currency: Currency.Usd,
176
+ eventDate: '2024-07-15',
177
+ debitDate: '2024-07-15',
178
+ accountNumber: '123-456-7890',
179
+ },
180
+ {
181
+ id: makeUUID('transaction', 'consulting-payment-usd-08'),
182
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-08'),
183
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
184
+ amount: '-500.00',
185
+ currency: Currency.Usd,
186
+ eventDate: '2024-08-15',
187
+ debitDate: '2024-08-15',
188
+ accountNumber: '123-456-7890',
189
+ },
190
+ {
191
+ id: makeUUID('transaction', 'consulting-payment-usd-09'),
192
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-09'),
193
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
194
+ amount: '-500.00',
195
+ currency: Currency.Usd,
196
+ eventDate: '2024-09-15',
197
+ debitDate: '2024-09-15',
198
+ accountNumber: '123-456-7890',
199
+ },
200
+ {
201
+ id: makeUUID('transaction', 'consulting-payment-usd-10'),
202
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-10'),
203
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
204
+ amount: '-500.00',
205
+ currency: Currency.Usd,
206
+ eventDate: '2024-10-15',
207
+ debitDate: '2024-10-15',
208
+ accountNumber: '123-456-7890',
209
+ },
210
+ {
211
+ id: makeUUID('transaction', 'consulting-payment-usd-11'),
212
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-11'),
213
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
214
+ amount: '-500.00',
215
+ currency: Currency.Usd,
216
+ eventDate: '2024-11-15',
217
+ debitDate: '2024-11-15',
218
+ accountNumber: '123-456-7890',
219
+ },
220
+ {
221
+ id: makeUUID('transaction', 'consulting-payment-usd-12'),
222
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-12'),
223
+ businessId: makeUUID('business', 'us-supplier-acme-llc'),
224
+ amount: '-500.00',
225
+ currency: Currency.Usd,
226
+ eventDate: '2024-12-15',
227
+ debitDate: '2024-12-15',
228
+ accountNumber: '123-456-7890',
229
+ },
230
+ ],
231
+ documents: [
232
+ {
233
+ id: makeUUID('document', 'consulting-invoice-inv-2024-01-15'),
234
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-01'),
235
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
236
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
237
+ serialNumber: 'INV-2024-01-15',
238
+ type: 'INVOICE',
239
+ date: '2024-01-01',
240
+ totalAmount: '500.00',
241
+ currencyCode: Currency.Usd,
242
+ },
243
+ {
244
+ id: makeUUID('document', 'consulting-invoice-inv-2024-02-15'),
245
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-02'),
246
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
247
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
248
+ serialNumber: 'INV-2024-02-15',
249
+ type: 'INVOICE',
250
+ date: '2024-02-01',
251
+ totalAmount: '500.00',
252
+ currencyCode: Currency.Usd,
253
+ },
254
+ {
255
+ id: makeUUID('document', 'consulting-invoice-inv-2024-03-15'),
256
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-03'),
257
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
258
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
259
+ serialNumber: 'INV-2024-03-15',
260
+ type: 'INVOICE',
261
+ date: '2024-03-01',
262
+ totalAmount: '500.00',
263
+ currencyCode: Currency.Usd,
264
+ },
265
+ {
266
+ id: makeUUID('document', 'consulting-invoice-inv-2024-04-15'),
267
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-04'),
268
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
269
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
270
+ serialNumber: 'INV-2024-04-15',
271
+ type: 'INVOICE',
272
+ date: '2024-04-01',
273
+ totalAmount: '500.00',
274
+ currencyCode: Currency.Usd,
275
+ },
276
+ {
277
+ id: makeUUID('document', 'consulting-invoice-inv-2024-05-15'),
278
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-05'),
279
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
280
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
281
+ serialNumber: 'INV-2024-05-15',
282
+ type: 'INVOICE',
283
+ date: '2024-05-01',
284
+ totalAmount: '500.00',
285
+ currencyCode: Currency.Usd,
286
+ },
287
+ {
288
+ id: makeUUID('document', 'consulting-invoice-inv-2024-06-15'),
289
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-06'),
290
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
291
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
292
+ serialNumber: 'INV-2024-06-15',
293
+ type: 'INVOICE',
294
+ date: '2024-06-01',
295
+ totalAmount: '500.00',
296
+ currencyCode: Currency.Usd,
297
+ },
298
+ {
299
+ id: makeUUID('document', 'consulting-invoice-inv-2024-07-15'),
300
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-07'),
301
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
302
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
303
+ serialNumber: 'INV-2024-07-15',
304
+ type: 'INVOICE',
305
+ date: '2024-07-01',
306
+ totalAmount: '500.00',
307
+ currencyCode: Currency.Usd,
308
+ },
309
+ {
310
+ id: makeUUID('document', 'consulting-invoice-inv-2024-08-15'),
311
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-08'),
312
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
313
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
314
+ serialNumber: 'INV-2024-08-15',
315
+ type: 'INVOICE',
316
+ date: '2024-08-01',
317
+ totalAmount: '500.00',
318
+ currencyCode: Currency.Usd,
319
+ },
320
+ {
321
+ id: makeUUID('document', 'consulting-invoice-inv-2024-09-15'),
322
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-09'),
323
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
324
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
325
+ serialNumber: 'INV-2024-09-15',
326
+ type: 'INVOICE',
327
+ date: '2024-09-01',
328
+ totalAmount: '500.00',
329
+ currencyCode: Currency.Usd,
330
+ },
331
+ {
332
+ id: makeUUID('document', 'consulting-invoice-inv-2024-10-15'),
333
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-10'),
334
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
335
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
336
+ serialNumber: 'INV-2024-10-15',
337
+ type: 'INVOICE',
338
+ date: '2024-10-01',
339
+ totalAmount: '500.00',
340
+ currencyCode: Currency.Usd,
341
+ },
342
+ {
343
+ id: makeUUID('document', 'consulting-invoice-inv-2024-11-15'),
344
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-11'),
345
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
346
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
347
+ serialNumber: 'INV-2024-11-15',
348
+ type: 'INVOICE',
349
+ date: '2024-11-01',
350
+ totalAmount: '500.00',
351
+ currencyCode: Currency.Usd,
352
+ },
353
+ {
354
+ id: makeUUID('document', 'consulting-invoice-inv-2024-12-15'),
355
+ chargeId: makeUUID('charge', 'consulting-invoice-2024-12'),
356
+ creditorId: makeUUID('business', 'us-supplier-acme-llc'),
357
+ debtorId: '{{ADMIN_BUSINESS_ID}}',
358
+ serialNumber: 'INV-2024-12-15',
359
+ type: 'INVOICE',
360
+ date: '2024-12-01',
361
+ totalAmount: '500.00',
362
+ currencyCode: Currency.Usd,
363
+ },
364
+ ],
365
+ },
366
+ metadata: {
367
+ author: 'demo-team',
368
+ createdAt: '2024-01-01',
369
+ updatedAt: '2024-01-01',
370
+ },
371
+ expectations: {
372
+ ledgerRecordCount: 24,
373
+ },
374
+ };
375
+ //# sourceMappingURL=monthly-expense-foreign-currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monthly-expense-foreign-currency.js","sourceRoot":"","sources":["../../../../../../src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { UseCaseSpec } from '../../../fixtures/fixture-spec.js';
2
+ /**
3
+ * Client Payment with Refund Cycle
4
+ *
5
+ * Models an income scenario where a client pays an invoice
6
+ * and later receives a partial refund via a credit invoice.
7
+ * Sign convention follows demo rules: negative amount = income,
8
+ * positive amount = reversal/refund.
9
+ */
10
+ export declare const clientPaymentWithRefund: UseCaseSpec;
@@ -0,0 +1,113 @@
1
+ import { CountryCode, Currency } from '../../../shared/enums.js';
2
+ import { makeUUID } from '../../helpers/deterministic-uuid.js';
3
+ /**
4
+ * Client Payment with Refund Cycle
5
+ *
6
+ * Models an income scenario where a client pays an invoice
7
+ * and later receives a partial refund via a credit invoice.
8
+ * Sign convention follows demo rules: negative amount = income,
9
+ * positive amount = reversal/refund.
10
+ */
11
+ export const clientPaymentWithRefund = {
12
+ id: 'client-payment-with-refund',
13
+ name: 'Client Payment with Refund',
14
+ description: 'Client invoice paid (income) followed by a partial refund via credit invoice. Uses ILS bank account.',
15
+ category: 'income',
16
+ fixtures: {
17
+ businesses: [
18
+ {
19
+ id: makeUUID('business', 'acme-retail-client'),
20
+ name: 'Acme Retail Client',
21
+ country: CountryCode['Israel'],
22
+ canSettleWithReceipt: false,
23
+ },
24
+ ],
25
+ taxCategories: [
26
+ {
27
+ id: makeUUID('tax-category', 'service-income'),
28
+ name: 'Service Income',
29
+ },
30
+ ],
31
+ financialAccounts: [
32
+ {
33
+ id: makeUUID('financial-account', 'bank-ils-account-income'),
34
+ accountNumber: '22-333-4444',
35
+ type: 'BANK_ACCOUNT',
36
+ currency: Currency.Ils,
37
+ taxCategoryMappings: [
38
+ {
39
+ taxCategoryId: makeUUID('tax-category', 'service-income'),
40
+ currency: Currency.Ils,
41
+ },
42
+ ],
43
+ },
44
+ ],
45
+ charges: [
46
+ {
47
+ id: makeUUID('charge', 'client-invoice-2024-11'),
48
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
49
+ userDescription: 'Client invoice for November services',
50
+ },
51
+ {
52
+ id: makeUUID('charge', 'client-refund-credit-2024-11'),
53
+ ownerId: '{{ADMIN_BUSINESS_ID}}',
54
+ userDescription: 'Refund credit for November services',
55
+ },
56
+ ],
57
+ transactions: [
58
+ {
59
+ id: makeUUID('transaction', 'client-payment-2024-11-15'),
60
+ chargeId: makeUUID('charge', 'client-invoice-2024-11'),
61
+ businessId: makeUUID('business', 'acme-retail-client'),
62
+ amount: '-2000.00',
63
+ currency: Currency.Ils,
64
+ eventDate: '2024-11-15',
65
+ debitDate: '2024-11-15',
66
+ accountNumber: '22-333-4444',
67
+ },
68
+ {
69
+ id: makeUUID('transaction', 'client-refund-2024-11-20'),
70
+ chargeId: makeUUID('charge', 'client-refund-credit-2024-11'),
71
+ businessId: makeUUID('business', 'acme-retail-client'),
72
+ amount: '500.00',
73
+ currency: Currency.Ils,
74
+ eventDate: '2024-11-20',
75
+ debitDate: '2024-11-20',
76
+ accountNumber: '22-333-4444',
77
+ },
78
+ ],
79
+ documents: [
80
+ {
81
+ id: makeUUID('document', 'client-invoice-inv-2024-11-01'),
82
+ chargeId: makeUUID('charge', 'client-invoice-2024-11'),
83
+ creditorId: '{{ADMIN_BUSINESS_ID}}',
84
+ debtorId: makeUUID('business', 'acme-retail-client'),
85
+ serialNumber: 'INV-2024-11-01',
86
+ type: 'INVOICE',
87
+ date: '2024-11-01',
88
+ totalAmount: '2000.00',
89
+ currencyCode: Currency.Ils,
90
+ },
91
+ {
92
+ id: makeUUID('document', 'client-credit-invoice-2024-11-20'),
93
+ chargeId: makeUUID('charge', 'client-refund-credit-2024-11'),
94
+ creditorId: '{{ADMIN_BUSINESS_ID}}',
95
+ debtorId: makeUUID('business', 'acme-retail-client'),
96
+ serialNumber: 'CR-2024-11-20',
97
+ type: 'CREDIT_INVOICE',
98
+ date: '2024-11-20',
99
+ totalAmount: '500.00',
100
+ currencyCode: Currency.Ils,
101
+ },
102
+ ],
103
+ },
104
+ metadata: {
105
+ author: 'demo-team',
106
+ createdAt: '2024-11-24',
107
+ updatedAt: '2024-11-24',
108
+ },
109
+ expectations: {
110
+ ledgerRecordCount: 4,
111
+ },
112
+ };
113
+ //# sourceMappingURL=client-payment-with-refund.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-payment-with-refund.js","sourceRoot":"","sources":["../../../../../../src/demo-fixtures/use-cases/income/client-payment-with-refund.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAClD,EAAE,EAAE,4BAA4B;IAChC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,sGAAsG;IACxG,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE;QACR,UAAU,EAAE;YACV;gBACE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBAC9C,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;gBAC9B,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,aAAa,EAAE;YACb;gBACE,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC;gBAC9C,IAAI,EAAE,gBAAgB;aACvB;SACF;QACD,iBAAiB,EAAE;YACjB;gBACE,EAAE,EAAE,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;gBAC5D,aAAa,EAAE,aAAa;gBAC5B,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ,CAAC,GAAG;gBACtB,mBAAmB,EAAE;oBACnB;wBACE,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC;wBACzD,QAAQ,EAAE,QAAQ,CAAC,GAAG;qBACvB;iBACF;aACF;SACF;QACD,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;gBAChD,OAAO,EAAE,uBAAuB;gBAChC,eAAe,EAAE,sCAAsC;aACxD;YACD;gBACE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;gBACtD,OAAO,EAAE,uBAAuB;gBAChC,eAAe,EAAE,qCAAqC;aACvD;SACF;QACD,YAAY,EAAE;YACZ;gBACE,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;gBACxD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBACtD,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,QAAQ,CAAC,GAAG;gBACtB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,aAAa;aAC7B;YACD;gBACE,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;gBACvD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;gBAC5D,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBACtD,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,QAAQ,CAAC,GAAG;gBACtB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,YAAY;gBACvB,aAAa,EAAE,aAAa;aAC7B;SACF;QACD,SAAS,EAAE;YACT;gBACE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;gBACzD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;gBACtD,UAAU,EAAE,uBAAuB;gBACnC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBACpD,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,SAAS;gBACtB,YAAY,EAAE,QAAQ,CAAC,GAAG;aAC3B;YACD;gBACE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,kCAAkC,CAAC;gBAC5D,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;gBAC5D,UAAU,EAAE,uBAAuB;gBACnC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBACpD,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,QAAQ;gBACrB,YAAY,EAAE,QAAQ,CAAC,GAAG;aAC3B;SACF;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,YAAY;KACxB;IACD,YAAY,EAAE;QACZ,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { UseCaseSpec } from '../../fixtures/fixture-spec.js';
2
+ /**
3
+ * Central registry of all demo use-cases organized by category.
4
+ *
5
+ * Each category contains an array of use-case specifications that will be
6
+ * seeded into the staging environment. Use-cases are processed in the order
7
+ * they appear in each category array.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Adding a new use-case:
12
+ * import { monthlyExpense } from './expenses/monthly-expense.js';
13
+ *
14
+ * export const USE_CASE_REGISTRY: Record<string, UseCaseSpec[]> = {
15
+ * expenses: [monthlyExpense],
16
+ * income: [],
17
+ * equity: [],
18
+ * };
19
+ * ```
20
+ */
21
+ export declare const USE_CASE_REGISTRY: Record<string, UseCaseSpec[]>;
22
+ /**
23
+ * Get all registered use-cases across all categories.
24
+ *
25
+ * This function flattens the registry into a single array, maintaining
26
+ * the order: expenses first, then income, then equity (based on object
27
+ * key insertion order).
28
+ *
29
+ * @returns Array of all use-case specifications
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const allUseCases = getAllUseCases();
34
+ * console.log(`Total use-cases: ${allUseCases.length}`);
35
+ *
36
+ * allUseCases.forEach(useCase => {
37
+ * console.log(`${useCase.category}: ${useCase.name}`);
38
+ * });
39
+ * ```
40
+ */
41
+ export declare function getAllUseCases(): UseCaseSpec[];
@@ -0,0 +1,50 @@
1
+ import { shareholderDividend } from './equity/shareholder-dividend.js';
2
+ import { monthlyExpenseForeignCurrency } from './expenses/monthly-expense-foreign-currency.js';
3
+ import { clientPaymentWithRefund } from './income/client-payment-with-refund.js';
4
+ /**
5
+ * Central registry of all demo use-cases organized by category.
6
+ *
7
+ * Each category contains an array of use-case specifications that will be
8
+ * seeded into the staging environment. Use-cases are processed in the order
9
+ * they appear in each category array.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Adding a new use-case:
14
+ * import { monthlyExpense } from './expenses/monthly-expense.js';
15
+ *
16
+ * export const USE_CASE_REGISTRY: Record<string, UseCaseSpec[]> = {
17
+ * expenses: [monthlyExpense],
18
+ * income: [],
19
+ * equity: [],
20
+ * };
21
+ * ```
22
+ */
23
+ export const USE_CASE_REGISTRY = {
24
+ expenses: [monthlyExpenseForeignCurrency],
25
+ equity: [shareholderDividend],
26
+ income: [clientPaymentWithRefund],
27
+ };
28
+ /**
29
+ * Get all registered use-cases across all categories.
30
+ *
31
+ * This function flattens the registry into a single array, maintaining
32
+ * the order: expenses first, then income, then equity (based on object
33
+ * key insertion order).
34
+ *
35
+ * @returns Array of all use-case specifications
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const allUseCases = getAllUseCases();
40
+ * console.log(`Total use-cases: ${allUseCases.length}`);
41
+ *
42
+ * allUseCases.forEach(useCase => {
43
+ * console.log(`${useCase.category}: ${useCase.name}`);
44
+ * });
45
+ * ```
46
+ */
47
+ export function getAllUseCases() {
48
+ return Object.values(USE_CASE_REGISTRY).flat();
49
+ }
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/use-cases/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkC;IAC9D,QAAQ,EAAE,CAAC,6BAA6B,CAAC;IACzC,MAAM,EAAE,CAAC,mBAAmB,CAAC;IAC7B,MAAM,EAAE,CAAC,uBAAuB,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC"}