@pax2pay/model-banking 0.1.614 → 0.1.616

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 (105) hide show
  1. package/Operation/Changes.ts +6 -11
  2. package/Operation/Creatable.ts +2 -1
  3. package/Treasury/Snapshot/Account.ts +1 -1
  4. package/Treasury/Snapshot/Check/BankFeedIntegrity.ts +19 -0
  5. package/Treasury/Snapshot/Check/Base.ts +8 -0
  6. package/Treasury/Snapshot/Check/Checks.ts +15 -0
  7. package/Treasury/Snapshot/Check/ExternalReconciliation.ts +9 -0
  8. package/Treasury/Snapshot/Check/InternalReconciliation.ts +9 -0
  9. package/Treasury/Snapshot/Check/LedgerIntegrity.ts +17 -0
  10. package/Treasury/Snapshot/Check/Overdraft.ts +7 -0
  11. package/Treasury/Snapshot/Check/Result.ts +11 -0
  12. package/Treasury/Snapshot/Check/TransactionMatch.ts +9 -0
  13. package/Treasury/Snapshot/Check/UnidentifiedFunds.ts +8 -0
  14. package/Treasury/Snapshot/Check/index.ts +29 -0
  15. package/Treasury/Snapshot/Fiat.ts +0 -2
  16. package/Treasury/Snapshot/index.ts +7 -27
  17. package/dist/cjs/Operation/Changes.d.ts +1 -1
  18. package/dist/cjs/Operation/Changes.js +4 -4
  19. package/dist/cjs/Operation/Changes.js.map +1 -1
  20. package/dist/cjs/Operation/Creatable.d.ts +1 -0
  21. package/dist/cjs/Operation/Creatable.js +1 -0
  22. package/dist/cjs/Operation/Creatable.js.map +1 -1
  23. package/dist/cjs/Treasury/Snapshot/Account.d.ts +1 -1
  24. package/dist/cjs/Treasury/Snapshot/Check/BankFeedIntegrity.d.ts +25 -0
  25. package/dist/cjs/Treasury/Snapshot/Check/BankFeedIntegrity.js +3 -0
  26. package/dist/cjs/Treasury/Snapshot/Check/BankFeedIntegrity.js.map +1 -0
  27. package/dist/cjs/Treasury/Snapshot/Check/Base.d.ts +7 -0
  28. package/dist/cjs/Treasury/Snapshot/Check/Base.js +3 -0
  29. package/dist/cjs/Treasury/Snapshot/Check/Base.js.map +1 -0
  30. package/dist/cjs/Treasury/Snapshot/Check/Checks.d.ts +6 -0
  31. package/dist/cjs/Treasury/Snapshot/Check/Checks.js +18 -0
  32. package/dist/cjs/Treasury/Snapshot/Check/Checks.js.map +1 -0
  33. package/dist/cjs/Treasury/Snapshot/Check/ExternalReconciliation.d.ts +8 -0
  34. package/dist/cjs/Treasury/Snapshot/Check/ExternalReconciliation.js +3 -0
  35. package/dist/cjs/Treasury/Snapshot/Check/ExternalReconciliation.js.map +1 -0
  36. package/dist/cjs/Treasury/Snapshot/Check/InternalReconciliation.d.ts +8 -0
  37. package/dist/cjs/Treasury/Snapshot/Check/InternalReconciliation.js +3 -0
  38. package/dist/cjs/Treasury/Snapshot/Check/InternalReconciliation.js.map +1 -0
  39. package/dist/cjs/Treasury/Snapshot/Check/LedgerIntegrity.d.ts +24 -0
  40. package/dist/cjs/Treasury/Snapshot/Check/LedgerIntegrity.js +3 -0
  41. package/dist/cjs/Treasury/Snapshot/Check/LedgerIntegrity.js.map +1 -0
  42. package/dist/cjs/Treasury/Snapshot/Check/Overdraft.d.ts +9 -0
  43. package/dist/cjs/Treasury/Snapshot/Check/Overdraft.js +3 -0
  44. package/dist/cjs/Treasury/Snapshot/Check/Overdraft.js.map +1 -0
  45. package/dist/cjs/Treasury/Snapshot/Check/Result.d.ts +5 -0
  46. package/dist/cjs/Treasury/Snapshot/Check/Result.js +16 -0
  47. package/dist/cjs/Treasury/Snapshot/Check/Result.js.map +1 -0
  48. package/dist/cjs/Treasury/Snapshot/Check/TransactionMatch.d.ts +8 -0
  49. package/dist/cjs/Treasury/Snapshot/Check/TransactionMatch.js +3 -0
  50. package/dist/cjs/Treasury/Snapshot/Check/TransactionMatch.js.map +1 -0
  51. package/dist/cjs/Treasury/Snapshot/Check/UnidentifiedFunds.d.ts +7 -0
  52. package/dist/cjs/Treasury/Snapshot/Check/UnidentifiedFunds.js +3 -0
  53. package/dist/cjs/Treasury/Snapshot/Check/UnidentifiedFunds.js.map +1 -0
  54. package/dist/cjs/Treasury/Snapshot/Check/index.d.ts +21 -0
  55. package/dist/cjs/Treasury/Snapshot/Check/index.js +11 -0
  56. package/dist/cjs/Treasury/Snapshot/Check/index.js.map +1 -0
  57. package/dist/cjs/Treasury/Snapshot/Fiat.d.ts +0 -2
  58. package/dist/cjs/Treasury/Snapshot/index.d.ts +6 -8
  59. package/dist/cjs/Treasury/Snapshot/index.js +2 -27
  60. package/dist/cjs/Treasury/Snapshot/index.js.map +1 -1
  61. package/dist/mjs/Operation/Changes.d.ts +1 -1
  62. package/dist/mjs/Operation/Changes.js +4 -4
  63. package/dist/mjs/Operation/Changes.js.map +1 -1
  64. package/dist/mjs/Operation/Creatable.d.ts +1 -0
  65. package/dist/mjs/Operation/Creatable.js +1 -0
  66. package/dist/mjs/Operation/Creatable.js.map +1 -1
  67. package/dist/mjs/Treasury/Snapshot/Account.d.ts +1 -1
  68. package/dist/mjs/Treasury/Snapshot/Check/BankFeedIntegrity.d.ts +25 -0
  69. package/dist/mjs/Treasury/Snapshot/Check/BankFeedIntegrity.js +2 -0
  70. package/dist/mjs/Treasury/Snapshot/Check/BankFeedIntegrity.js.map +1 -0
  71. package/dist/mjs/Treasury/Snapshot/Check/Base.d.ts +7 -0
  72. package/dist/mjs/Treasury/Snapshot/Check/Base.js +2 -0
  73. package/dist/mjs/Treasury/Snapshot/Check/Base.js.map +1 -0
  74. package/dist/mjs/Treasury/Snapshot/Check/Checks.d.ts +6 -0
  75. package/dist/mjs/Treasury/Snapshot/Check/Checks.js +15 -0
  76. package/dist/mjs/Treasury/Snapshot/Check/Checks.js.map +1 -0
  77. package/dist/mjs/Treasury/Snapshot/Check/ExternalReconciliation.d.ts +8 -0
  78. package/dist/mjs/Treasury/Snapshot/Check/ExternalReconciliation.js +2 -0
  79. package/dist/mjs/Treasury/Snapshot/Check/ExternalReconciliation.js.map +1 -0
  80. package/dist/mjs/Treasury/Snapshot/Check/InternalReconciliation.d.ts +8 -0
  81. package/dist/mjs/Treasury/Snapshot/Check/InternalReconciliation.js +2 -0
  82. package/dist/mjs/Treasury/Snapshot/Check/InternalReconciliation.js.map +1 -0
  83. package/dist/mjs/Treasury/Snapshot/Check/LedgerIntegrity.d.ts +24 -0
  84. package/dist/mjs/Treasury/Snapshot/Check/LedgerIntegrity.js +2 -0
  85. package/dist/mjs/Treasury/Snapshot/Check/LedgerIntegrity.js.map +1 -0
  86. package/dist/mjs/Treasury/Snapshot/Check/Overdraft.d.ts +9 -0
  87. package/dist/mjs/Treasury/Snapshot/Check/Overdraft.js +2 -0
  88. package/dist/mjs/Treasury/Snapshot/Check/Overdraft.js.map +1 -0
  89. package/dist/mjs/Treasury/Snapshot/Check/Result.d.ts +5 -0
  90. package/dist/mjs/Treasury/Snapshot/Check/Result.js +13 -0
  91. package/dist/mjs/Treasury/Snapshot/Check/Result.js.map +1 -0
  92. package/dist/mjs/Treasury/Snapshot/Check/TransactionMatch.d.ts +8 -0
  93. package/dist/mjs/Treasury/Snapshot/Check/TransactionMatch.js +2 -0
  94. package/dist/mjs/Treasury/Snapshot/Check/TransactionMatch.js.map +1 -0
  95. package/dist/mjs/Treasury/Snapshot/Check/UnidentifiedFunds.d.ts +7 -0
  96. package/dist/mjs/Treasury/Snapshot/Check/UnidentifiedFunds.js +2 -0
  97. package/dist/mjs/Treasury/Snapshot/Check/UnidentifiedFunds.js.map +1 -0
  98. package/dist/mjs/Treasury/Snapshot/Check/index.d.ts +21 -0
  99. package/dist/mjs/Treasury/Snapshot/Check/index.js +8 -0
  100. package/dist/mjs/Treasury/Snapshot/Check/index.js.map +1 -0
  101. package/dist/mjs/Treasury/Snapshot/Fiat.d.ts +0 -2
  102. package/dist/mjs/Treasury/Snapshot/index.d.ts +6 -8
  103. package/dist/mjs/Treasury/Snapshot/index.js +2 -27
  104. package/dist/mjs/Treasury/Snapshot/index.js.map +1 -1
  105. package/package.json +1 -1
@@ -6,6 +6,12 @@ import { Change } from "./Change"
6
6
 
7
7
  export type Changes = Partial<Record<Changes.Entry.Balance, Change>>
8
8
  export namespace Changes {
9
+ export function balance(currency: isoly.Currency, changes: Changes): number {
10
+ return [changes.available, changes["reserved-incoming"], changes["reserved-outgoing"]].reduce(
11
+ (r, change) => isoly.Currency.add(currency, r, (change?.type == "subtract" ? -1 : 1) * (change?.amount ?? 0)),
12
+ 0
13
+ )
14
+ }
9
15
  export function available(changes: MaybeLegacy, currency: isoly.Currency, legacy: boolean = false): number {
10
16
  return legacy
11
17
  ? Object.entries(changes).reduce(
@@ -38,17 +44,6 @@ export namespace Changes {
38
44
  0
39
45
  )
40
46
  }
41
- export function counterbalance(changes: Changes, currency: isoly.Currency): number {
42
- return Object.entries(changes).reduce(
43
- (r, [entry, change]) =>
44
- isoly.Currency.add(
45
- currency,
46
- r,
47
- Entry.Balance.type.is(entry) ? 0 : (change.type == "subtract" ? -1 : 1) * (change.amount ?? 0)
48
- ),
49
- 0
50
- )
51
- }
52
47
  export type Sum = Partial<Record<Changes.Entry.Balance, number>>
53
48
  export type MaybeLegacy = Changes | Legacy
54
49
  export const type = isly.record<Changes>(isly.string(), Change.type)
@@ -9,8 +9,8 @@ export interface Creatable {
9
9
  currency: isoly.Currency
10
10
  changes: Changes
11
11
  type: Creatable.Type
12
+ counterbalance?: string // like: "uk-bc-safe02"
12
13
  }
13
-
14
14
  export namespace Creatable {
15
15
  export const types = [
16
16
  "incoming",
@@ -35,6 +35,7 @@ export namespace Creatable {
35
35
  currency: isly.fromIs("isoly.Currency", isoly.Currency.is),
36
36
  changes: Changes.type,
37
37
  type: isly.string(types),
38
+ counterbalance: isly.string().optional(),
38
39
  })
39
40
  export function fromRefund(account: string, settlement: string, entry: Settlement.Entry.Creatable.Refund): Creatable {
40
41
  // The Entry.Refund.Creatable has negative amount and fee
@@ -9,7 +9,7 @@ export interface Account {
9
9
  reference: string
10
10
  description?: string
11
11
  currency: isoly.Currency
12
- opening: Account.Opening
12
+ opening?: Account.Opening
13
13
  closing: Account.Closing
14
14
  delta: Account.Delta
15
15
  warnings?: Warning.Snapshot[]
@@ -0,0 +1,19 @@
1
+ import { isoly } from "isoly"
2
+ import { Base } from "./Base"
3
+ import { Result } from "./Result"
4
+
5
+ export interface BankFeedIntegrity extends Base {
6
+ check: "bank feed integrity"
7
+ accounts: {
8
+ code: string
9
+ reference: string
10
+ supplier: string
11
+ opening?: { at: isoly.DateTime; balance: number }
12
+ transaction?: { balance: number }
13
+ closing: { at: isoly.DateTime; balance: number }
14
+ timestamp: string
15
+ result: Result
16
+ }[]
17
+ }
18
+
19
+ export namespace BankFeedIntegrity {}
@@ -0,0 +1,8 @@
1
+ import { Checks } from "./Checks"
2
+ import { Result } from "./Result"
3
+
4
+ export interface Base {
5
+ check: Checks
6
+ result: Result
7
+ }
8
+ export namespace Base {}
@@ -0,0 +1,15 @@
1
+ import { isly } from "isly"
2
+
3
+ export type Checks = (typeof Checks.value)[number]
4
+ export namespace Checks {
5
+ export const value = [
6
+ "bank feed integrity", // Proves Bank Prev Balance + Bank Txns = Bank Current Balance
7
+ "external reconciliation", // Proves Internal Safeguard Mirror matches Actual Bank Balance
8
+ "internal reconciliation", // Proves Total E-Money Liabilities match Internal Safeguard Mirror
9
+ "ledger integrity", // Proves Opening Balance + Operations = Closing Balance
10
+ "overdraft", // Warns if any customer accounts fall below zero
11
+ "transaction match", // Proves all external bank txns have a 1:1 internal ledger txn
12
+ "unidentified funds", // Flags any received money not yet assigned to a customer
13
+ ] as const
14
+ export const type = isly.string(value)
15
+ }
@@ -0,0 +1,9 @@
1
+ import { Base } from "./Base"
2
+
3
+ export interface ExternalReconciliation extends Base {
4
+ check: "external reconciliation"
5
+ counterbalance: number
6
+ fiat: number
7
+ discrepancy: number
8
+ }
9
+ export namespace ExternalReconciliation {}
@@ -0,0 +1,9 @@
1
+ import { Base as ResultBase } from "./Base"
2
+
3
+ export interface InternalReconciliation extends ResultBase {
4
+ check: "internal reconciliation"
5
+ counterbalance: number
6
+ emoney: number
7
+ discrepancy: number
8
+ }
9
+ export namespace InternalReconciliation {}
@@ -0,0 +1,17 @@
1
+ import { isoly } from "isoly"
2
+ import { Base } from "./Base"
3
+ import { Result } from "./Result"
4
+
5
+ export interface LedgerIntegrity extends Base {
6
+ check: "ledger integrity"
7
+ accounts: {
8
+ id: string
9
+ organization: string
10
+ timestamp: string
11
+ opening?: { at: isoly.DateTime; balance: number }
12
+ ledger?: { change: number }
13
+ closing: { at: isoly.DateTime; balance: number }
14
+ result: Result
15
+ }[]
16
+ }
17
+ export namespace LedgerIntegrity {}
@@ -0,0 +1,7 @@
1
+ import { Base } from "./Base"
2
+
3
+ export interface Overdraft extends Base {
4
+ check: "overdraft"
5
+ overdrafts: { account: string; balance: number }[]
6
+ }
7
+ export namespace Overdraft {}
@@ -0,0 +1,11 @@
1
+ export type Result = "passed" | "failed" | "incomplete"
2
+ export namespace Result {
3
+ export const precedence: Record<Result, number> = {
4
+ failed: 3,
5
+ incomplete: 2,
6
+ passed: 1,
7
+ }
8
+ export function aggregate(results: Result[]): Result {
9
+ return results.reduce((r, e) => (precedence[e] > precedence[r] ? e : r), "passed")
10
+ }
11
+ }
@@ -0,0 +1,9 @@
1
+ import { Base } from "./Base"
2
+
3
+ export interface TransactionMatch extends Base {
4
+ check: "transaction match"
5
+ total: number
6
+ matched: number
7
+ unmatched: string[]
8
+ }
9
+ export namespace TransactionMatch {}
@@ -0,0 +1,8 @@
1
+ import { Base as ResultBase } from "./Base"
2
+
3
+ export interface UnidentifiedFunds extends ResultBase {
4
+ check: "unidentified funds"
5
+ account: string
6
+ balance: number
7
+ }
8
+ export namespace UnidentifiedFunds {}
@@ -0,0 +1,29 @@
1
+ import { BankFeedIntegrity as CheckBankFeedIntegrity } from "./BankFeedIntegrity"
2
+ import { Checks as CheckChecks } from "./Checks"
3
+ import { ExternalReconciliation as CheckExternalReconciliation } from "./ExternalReconciliation"
4
+ import { InternalReconciliation as CheckInternalReconciliation } from "./InternalReconciliation"
5
+ import { LedgerIntegrity as CheckLedgerIntegrity } from "./LedgerIntegrity"
6
+ import { Overdraft as CheckOverdraft } from "./Overdraft"
7
+ import { Result as CheckResult } from "./Result"
8
+ import { TransactionMatch as CheckTransactionMatch } from "./TransactionMatch"
9
+ import { UnidentifiedFunds as CheckUnidentifiedFunds } from "./UnidentifiedFunds"
10
+
11
+ export type Check =
12
+ | Check.BankFeedIntegrity
13
+ | Check.ExternalReconciliation
14
+ | Check.InternalReconciliation
15
+ | Check.LedgerIntegrity
16
+ | Check.Overdraft
17
+ | Check.TransactionMatch
18
+ | Check.UnidentifiedFunds
19
+ export namespace Check {
20
+ export import Result = CheckResult
21
+ export import Checks = CheckChecks
22
+ export type BankFeedIntegrity = CheckBankFeedIntegrity
23
+ export type ExternalReconciliation = CheckExternalReconciliation
24
+ export type InternalReconciliation = CheckInternalReconciliation
25
+ export type LedgerIntegrity = CheckLedgerIntegrity
26
+ export type Overdraft = CheckOverdraft
27
+ export type TransactionMatch = CheckTransactionMatch
28
+ export type UnidentifiedFunds = CheckUnidentifiedFunds
29
+ }
@@ -1,6 +1,5 @@
1
1
  import { isoly } from "isoly"
2
2
  import { Supplier } from "../../Supplier"
3
- import { Warning } from "../../Warning"
4
3
  import { Balance } from "../Balance"
5
4
 
6
5
  export interface Fiat {
@@ -9,7 +8,6 @@ export interface Fiat {
9
8
  timestamp: isoly.DateTime
10
9
  type: "safeguarded" | "unsafe" | "other" | "buffer"
11
10
  balances: Balance
12
- warnings?: Warning.Snapshot[]
13
11
  conditions?: { minimum?: Balance }
14
12
  label?: string
15
13
  reference: string
@@ -1,54 +1,34 @@
1
1
  import { isoly } from "isoly"
2
- import { isly } from "isly"
3
2
  import { Balance } from "../../Balance"
4
3
  import { Supplier } from "../../Supplier"
5
4
  import { Transaction } from "../../Transaction"
6
5
  import { Warning } from "../../Warning"
7
6
  import { Account as SnapshotAccount } from "./Account"
7
+ import { Check as SnapshotCheck } from "./Check"
8
8
  import { Emoney as SnapshotEmoney } from "./Emoney"
9
9
  import { Fiat as SnapshotFiat } from "./Fiat"
10
10
  import { funding as snapshotFunding } from "./funding"
11
11
  import { Reconciliation as SnapshotReconciliation } from "./Reconciliation"
12
12
 
13
13
  export interface Snapshot {
14
- warnings: Warning.Snapshot[]
15
- emoney: Balance.Extended & { total?: number; reconciliation?: Snapshot.Reconciliation }
14
+ emoney: Balance.Extended & { total?: number }
15
+ created: isoly.DateTime
16
16
  currency: isoly.Currency
17
17
  supplier: Supplier
18
18
  fiat: {
19
- safe: number
20
- unsafe: number
21
19
  total: number // emoney issuable total amount
22
- other: number
23
- buffer: number
24
20
  accounts: Snapshot.Account[]
25
21
  }
26
22
  notes: Transaction.Note[]
23
+ checks: Snapshot.Check[]
24
+ result: Snapshot.Check.Result
25
+ warnings?: Warning.Snapshot[]
27
26
  }
28
27
  export namespace Snapshot {
29
28
  export import funding = snapshotFunding
29
+ export import Check = SnapshotCheck
30
30
  export type Reconciliation = SnapshotReconciliation
31
31
  export type Emoney = SnapshotEmoney
32
32
  export type Fiat = SnapshotFiat
33
33
  export import Account = SnapshotAccount
34
- export function validate(snapshot: Snapshot): boolean {
35
- const issuable = snapshot.fiat.total
36
- const actual = snapshot.emoney.actual ?? 0
37
- return issuable == actual
38
- }
39
- export const type = isly.object<Snapshot>({
40
- warnings: Warning.Snapshot.type.array(),
41
- emoney: Balance.Extended,
42
- currency: isly.fromIs("currency", isoly.Currency.is),
43
- supplier: Supplier.type,
44
- fiat: isly.object({
45
- safe: isly.number(),
46
- unsafe: isly.number(),
47
- total: isly.number(),
48
- other: isly.number(),
49
- buffer: isly.number(),
50
- accounts: Account.type.array(),
51
- }),
52
- notes: Transaction.Note.type.array(),
53
- })
54
34
  }
@@ -5,9 +5,9 @@ import type { Settlement } from "../Settlement";
5
5
  import { Change } from "./Change";
6
6
  export type Changes = Partial<Record<Changes.Entry.Balance, Change>>;
7
7
  export declare namespace Changes {
8
+ function balance(currency: isoly.Currency, changes: Changes): number;
8
9
  function available(changes: MaybeLegacy, currency: isoly.Currency, legacy?: boolean): number;
9
10
  function reserved(changes: MaybeLegacy, currency: isoly.Currency): number;
10
- function counterbalance(changes: Changes, currency: isoly.Currency): number;
11
11
  type Sum = Partial<Record<Changes.Entry.Balance, number>>;
12
12
  type MaybeLegacy = Changes | Legacy;
13
13
  const type: isly.Type<Partial<Record<"available" | "reserved-incoming" | "reserved-outgoing" | "reserved-buffer", Change<"add" | "subtract">>>>;
@@ -7,6 +7,10 @@ const Balance_1 = require("../Balance");
7
7
  const Change_1 = require("./Change");
8
8
  var Changes;
9
9
  (function (Changes) {
10
+ function balance(currency, changes) {
11
+ return [changes.available, changes["reserved-incoming"], changes["reserved-outgoing"]].reduce((r, change) => isoly_1.isoly.Currency.add(currency, r, (change?.type == "subtract" ? -1 : 1) * (change?.amount ?? 0)), 0);
12
+ }
13
+ Changes.balance = balance;
10
14
  function available(changes, currency, legacy = false) {
11
15
  return legacy
12
16
  ? Object.entries(changes).reduce((r, [entry, change]) => isoly_1.isoly.Currency.add(currency, r, Balance_1.Balance.Legacy.Entry.type.is(entry)
@@ -25,10 +29,6 @@ var Changes;
25
29
  : (change.type == "subtract" ? -1 : 1) * (change.amount ?? 0)), 0);
26
30
  }
27
31
  Changes.reserved = reserved;
28
- function counterbalance(changes, currency) {
29
- return Object.entries(changes).reduce((r, [entry, change]) => isoly_1.isoly.Currency.add(currency, r, Entry.Balance.type.is(entry) ? 0 : (change.type == "subtract" ? -1 : 1) * (change.amount ?? 0)), 0);
30
- }
31
- Changes.counterbalance = counterbalance;
32
32
  Changes.type = isly_1.isly.record(isly_1.isly.string(), Change_1.Change.type);
33
33
  let Legacy;
34
34
  (function (Legacy) {
@@ -1 +1 @@
1
- {"version":3,"file":"Changes.js","sourceRoot":"","sources":["../../../Operation/Changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Changes.js","sourceRoot":"","sources":["../../../Operation/Changes.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export interface Creatable {
7
7
  currency: isoly.Currency;
8
8
  changes: Changes;
9
9
  type: Creatable.Type;
10
+ counterbalance?: string;
10
11
  }
11
12
  export declare namespace Creatable {
12
13
  const types: readonly ["incoming", "finalizeIncoming", "outgoing", "finalizeOutgoing", "authorization", "capture", "charge", "refund", "cancel", "remove", "collect", "manual", "fund", "legacy", "adjustBuffer"];
@@ -29,6 +29,7 @@ var Creatable;
29
29
  currency: isly_1.isly.fromIs("isoly.Currency", isoly_1.isoly.Currency.is),
30
30
  changes: Changes_1.Changes.type,
31
31
  type: isly_1.isly.string(Creatable.types),
32
+ counterbalance: isly_1.isly.string().optional(),
32
33
  });
33
34
  function fromRefund(account, settlement, entry) {
34
35
  const [currency, entryAmount] = entry.amount;
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Operation/Creatable.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AACjC,iCAA6B;AAC7B,+BAA2B;AAE3B,uCAAmC;AASnC,IAAiB,SAAS,CAsDzB;AAtDD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;KACL,CAAA;IAEG,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,iBAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,iBAAO,CAAC,IAAI;QACrB,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACF,SAAgB,UAAU,CAAC,OAAe,EAAE,UAAkB,EAAE,KAAwC;QAGvG,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,mBAAmB,EAAE;oBACpB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;oBAChE,MAAM,EAAE,SAAS;iBACjB;gBACD,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;gBACD,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;aACD;SACD,CAAA;IACF,CAAC;IA5Be,oBAAU,aA4BzB,CAAA;AACF,CAAC,EAtDgB,SAAS,yBAAT,SAAS,QAsDzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Operation/Creatable.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AACjC,iCAA6B;AAC7B,+BAA2B;AAE3B,uCAAmC;AASnC,IAAiB,SAAS,CAuDzB;AAvDD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;KACL,CAAA;IAEG,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,iBAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,iBAAO,CAAC,IAAI;QACrB,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;QACxB,cAAc,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACxC,CAAC,CAAA;IACF,SAAgB,UAAU,CAAC,OAAe,EAAE,UAAkB,EAAE,KAAwC;QAGvG,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,mBAAmB,EAAE;oBACpB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;oBAChE,MAAM,EAAE,SAAS;iBACjB;gBACD,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;gBACD,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;aACD;SACD,CAAA;IACF,CAAC;IA5Be,oBAAU,aA4BzB,CAAA;AACF,CAAC,EAvDgB,SAAS,yBAAT,SAAS,QAuDzB"}
@@ -7,7 +7,7 @@ export interface Account {
7
7
  reference: string;
8
8
  description?: string;
9
9
  currency: isoly.Currency;
10
- opening: Account.Opening;
10
+ opening?: Account.Opening;
11
11
  closing: Account.Closing;
12
12
  delta: Account.Delta;
13
13
  warnings?: Warning.Snapshot[];
@@ -0,0 +1,25 @@
1
+ import { isoly } from "isoly";
2
+ import { Base } from "./Base";
3
+ import { Result } from "./Result";
4
+ export interface BankFeedIntegrity extends Base {
5
+ check: "bank feed integrity";
6
+ accounts: {
7
+ code: string;
8
+ reference: string;
9
+ supplier: string;
10
+ opening?: {
11
+ at: isoly.DateTime;
12
+ balance: number;
13
+ };
14
+ transaction?: {
15
+ balance: number;
16
+ };
17
+ closing: {
18
+ at: isoly.DateTime;
19
+ balance: number;
20
+ };
21
+ timestamp: string;
22
+ result: Result;
23
+ }[];
24
+ }
25
+ export declare namespace BankFeedIntegrity { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BankFeedIntegrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BankFeedIntegrity.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/BankFeedIntegrity.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Checks } from "./Checks";
2
+ import { Result } from "./Result";
3
+ export interface Base {
4
+ check: Checks;
5
+ result: Result;
6
+ }
7
+ export declare namespace Base { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Base.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { isly } from "isly";
2
+ export type Checks = (typeof Checks.value)[number];
3
+ export declare namespace Checks {
4
+ const value: readonly ["bank feed integrity", "external reconciliation", "internal reconciliation", "ledger integrity", "overdraft", "transaction match", "unidentified funds"];
5
+ const type: isly.Type<"overdraft" | "bank feed integrity" | "external reconciliation" | "internal reconciliation" | "ledger integrity" | "transaction match" | "unidentified funds">;
6
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Checks = void 0;
4
+ const isly_1 = require("isly");
5
+ var Checks;
6
+ (function (Checks) {
7
+ Checks.value = [
8
+ "bank feed integrity",
9
+ "external reconciliation",
10
+ "internal reconciliation",
11
+ "ledger integrity",
12
+ "overdraft",
13
+ "transaction match",
14
+ "unidentified funds",
15
+ ];
16
+ Checks.type = isly_1.isly.string(Checks.value);
17
+ })(Checks || (exports.Checks = Checks = {}));
18
+ //# sourceMappingURL=Checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checks.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Checks.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAG3B,IAAiB,MAAM,CAWtB;AAXD,WAAiB,MAAM;IACT,YAAK,GAAG;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,yBAAyB;QACzB,kBAAkB;QAClB,WAAW;QACX,mBAAmB;QACnB,oBAAoB;KACX,CAAA;IACG,WAAI,GAAG,WAAI,CAAC,MAAM,CAAC,OAAA,KAAK,CAAC,CAAA;AACvC,CAAC,EAXgB,MAAM,sBAAN,MAAM,QAWtB"}
@@ -0,0 +1,8 @@
1
+ import { Base } from "./Base";
2
+ export interface ExternalReconciliation extends Base {
3
+ check: "external reconciliation";
4
+ counterbalance: number;
5
+ fiat: number;
6
+ discrepancy: number;
7
+ }
8
+ export declare namespace ExternalReconciliation { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ExternalReconciliation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalReconciliation.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/ExternalReconciliation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { Base as ResultBase } from "./Base";
2
+ export interface InternalReconciliation extends ResultBase {
3
+ check: "internal reconciliation";
4
+ counterbalance: number;
5
+ emoney: number;
6
+ discrepancy: number;
7
+ }
8
+ export declare namespace InternalReconciliation { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=InternalReconciliation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalReconciliation.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/InternalReconciliation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { isoly } from "isoly";
2
+ import { Base } from "./Base";
3
+ import { Result } from "./Result";
4
+ export interface LedgerIntegrity extends Base {
5
+ check: "ledger integrity";
6
+ accounts: {
7
+ id: string;
8
+ organization: string;
9
+ timestamp: string;
10
+ opening?: {
11
+ at: isoly.DateTime;
12
+ balance: number;
13
+ };
14
+ ledger?: {
15
+ change: number;
16
+ };
17
+ closing: {
18
+ at: isoly.DateTime;
19
+ balance: number;
20
+ };
21
+ result: Result;
22
+ }[];
23
+ }
24
+ export declare namespace LedgerIntegrity { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LedgerIntegrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LedgerIntegrity.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/LedgerIntegrity.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { Base } from "./Base";
2
+ export interface Overdraft extends Base {
3
+ check: "overdraft";
4
+ overdrafts: {
5
+ account: string;
6
+ balance: number;
7
+ }[];
8
+ }
9
+ export declare namespace Overdraft { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Overdraft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overdraft.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Overdraft.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type Result = "passed" | "failed" | "incomplete";
2
+ export declare namespace Result {
3
+ const precedence: Record<Result, number>;
4
+ function aggregate(results: Result[]): Result;
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Result = void 0;
4
+ var Result;
5
+ (function (Result) {
6
+ Result.precedence = {
7
+ failed: 3,
8
+ incomplete: 2,
9
+ passed: 1,
10
+ };
11
+ function aggregate(results) {
12
+ return results.reduce((r, e) => (Result.precedence[e] > Result.precedence[r] ? e : r), "passed");
13
+ }
14
+ Result.aggregate = aggregate;
15
+ })(Result || (exports.Result = Result = {}));
16
+ //# sourceMappingURL=Result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Result.ts"],"names":[],"mappings":";;;AACA,IAAiB,MAAM,CAStB;AATD,WAAiB,MAAM;IACT,iBAAU,GAA2B;QACjD,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;KACT,CAAA;IACD,SAAgB,SAAS,CAAC,OAAiB;QAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAA,UAAU,CAAC,CAAC,CAAC,GAAG,OAAA,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACnF,CAAC;IAFe,gBAAS,YAExB,CAAA;AACF,CAAC,EATgB,MAAM,sBAAN,MAAM,QAStB"}
@@ -0,0 +1,8 @@
1
+ import { Base } from "./Base";
2
+ export interface TransactionMatch extends Base {
3
+ check: "transaction match";
4
+ total: number;
5
+ matched: number;
6
+ unmatched: string[];
7
+ }
8
+ export declare namespace TransactionMatch { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=TransactionMatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionMatch.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/TransactionMatch.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Base as ResultBase } from "./Base";
2
+ export interface UnidentifiedFunds extends ResultBase {
3
+ check: "unidentified funds";
4
+ account: string;
5
+ balance: number;
6
+ }
7
+ export declare namespace UnidentifiedFunds { }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=UnidentifiedFunds.js.map