taxtank-core 0.32.38 → 0.32.40

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 (24) hide show
  1. package/esm2022/lib/collections/bank-transaction.collection.mjs +19 -4
  2. package/esm2022/lib/collections/sole/sole-invoice-item.collection.mjs +3 -3
  3. package/esm2022/lib/collections/sole/sole-invoice.collection.mjs +22 -1
  4. package/esm2022/lib/collections/transaction/transaction-allocation.collection.mjs +8 -1
  5. package/esm2022/lib/collections/transaction/transaction.collection.mjs +8 -1
  6. package/esm2022/lib/db/Json/chart-accounts/chart-accounts-value.json +48 -15
  7. package/esm2022/lib/db/Models/transaction/transaction-base.mjs +3 -2
  8. package/esm2022/lib/models/sole/sole-invoice.mjs +3 -4
  9. package/esm2022/lib/services/bank/bank-account-calculation.service.mjs +7 -11
  10. package/esm2022/lib/services/bank/index.mjs +1 -2
  11. package/esm2022/lib/services/transaction/transaction-calculation.service.mjs +2 -55
  12. package/fesm2022/taxtank-core.mjs +119 -144
  13. package/fesm2022/taxtank-core.mjs.map +1 -1
  14. package/lib/collections/bank-transaction.collection.d.ts +9 -2
  15. package/lib/collections/sole/sole-invoice-item.collection.d.ts +1 -1
  16. package/lib/collections/sole/sole-invoice.collection.d.ts +5 -1
  17. package/lib/collections/transaction/transaction-allocation.collection.d.ts +3 -1
  18. package/lib/collections/transaction/transaction.collection.d.ts +2 -0
  19. package/lib/services/bank/bank-account-calculation.service.d.ts +2 -7
  20. package/lib/services/bank/index.d.ts +0 -1
  21. package/lib/services/transaction/transaction-calculation.service.d.ts +1 -25
  22. package/package.json +1 -1
  23. package/esm2022/lib/services/bank/bank-transaction-calculation.service.mjs +0 -61
  24. package/lib/services/bank/bank-transaction-calculation.service.d.ts +0 -41
@@ -1,12 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { BankAccountCollection } from '../../collections/bank-account.collection';
3
- import { BankAccount } from '../../models/bank/bank-account';
2
+ import { BankAccountCollection } from '../../collections';
3
+ import { BankAccount } from '../../models';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "./bank-transaction-calculation.service";
6
5
  export class BankAccountCalculationService {
7
- constructor(bankTransactionCalculationService) {
8
- this.bankTransactionCalculationService = bankTransactionCalculationService;
9
- }
10
6
  /**
11
7
  * Sum of bank accounts opening balances and their bank transactions allocated amounts
12
8
  */
@@ -15,8 +11,8 @@ export class BankAccountCalculationService {
15
11
  const bankAccountCollection = bankAccounts instanceof BankAccount ?
16
12
  new BankAccountCollection([bankAccounts]) :
17
13
  bankAccounts;
18
- return bankAccountCollection.getOpeningBalance() +
19
- this.bankTransactionCalculationService.getAllocatedAmount(bankTransactions.getByBankAccountsIds(bankAccountCollection.getIds()), allocations);
14
+ return bankTransactions.getByBankAccountsIds(bankAccountCollection.getIds()).getAllocatedAmount(allocations)
15
+ + bankAccountCollection.getOpeningBalance();
20
16
  }
21
17
  /**
22
18
  * get difference between total loans amount and total cash amount
@@ -24,7 +20,7 @@ export class BankAccountCalculationService {
24
20
  getNetPosition(bankAccounts, bankTransactions, allocations) {
25
21
  return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
26
22
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: i1.BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
24
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' }); }
29
25
  }
30
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, decorators: [{
@@ -32,5 +28,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
32
28
  args: [{
33
29
  providedIn: 'root'
34
30
  }]
35
- }], ctorParameters: function () { return [{ type: i1.BankTransactionCalculationService }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LWNhbGN1bGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQtY2FsY3VsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSWxGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBSzdELE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDVSxpQ0FBb0U7UUFBcEUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztJQUU5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FDZixZQUFpRCxFQUNqRCxnQkFBMkMsRUFDM0MsV0FBNEM7UUFFNUMsNkRBQTZEO1FBQzdELE1BQU0scUJBQXFCLEdBQTBCLFlBQVksWUFBWSxXQUFXLENBQUMsQ0FBQztZQUN4RixJQUFJLHFCQUFxQixDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQztRQUVmLE9BQU8scUJBQXFCLENBQUMsaUJBQWlCLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUNaLFlBQW1DLEVBQ25DLGdCQUEyQyxFQUMzQyxXQUE0QztRQUU1QyxPQUFPLFlBQVksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3SCxDQUFDOytHQWhDVSw2QkFBNkI7bUhBQTdCLDZCQUE2QixjQUY1QixNQUFNOzs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFua0FjY291bnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNhbGN1bGF0aW9uU2VydmljZSB9IGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua0FjY291bnRDYWxjdWxhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJhbmtUcmFuc2FjdGlvbkNhbGN1bGF0aW9uU2VydmljZTogQmFua1RyYW5zYWN0aW9uQ2FsY3VsYXRpb25TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIFN1bSBvZiBiYW5rIGFjY291bnRzIG9wZW5pbmcgYmFsYW5jZXMgYW5kIHRoZWlyIGJhbmsgdHJhbnNhY3Rpb25zIGFsbG9jYXRlZCBhbW91bnRzXG4gICAqL1xuICBnZXRUYXhUYW5rQmFsYW5jZShcbiAgICBiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB8IEJhbmtBY2NvdW50LFxuICAgIGJhbmtUcmFuc2FjdGlvbnM6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb25cbiAgKTogbnVtYmVyIHtcbiAgICAvLyB3cmFwIGluIGEgY29sbGVjdGlvbiBpZiBhIHNpbmdsZSBiYW5rIGFjY291bnQgd2FzIHByb3ZpZGVkXG4gICAgY29uc3QgYmFua0FjY291bnRDb2xsZWN0aW9uOiBCYW5rQWNjb3VudENvbGxlY3Rpb24gPSBiYW5rQWNjb3VudHMgaW5zdGFuY2VvZiBCYW5rQWNjb3VudCA/XG4gICAgICBuZXcgQmFua0FjY291bnRDb2xsZWN0aW9uKFtiYW5rQWNjb3VudHNdKSA6XG4gICAgICBiYW5rQWNjb3VudHM7XG5cbiAgICByZXR1cm4gYmFua0FjY291bnRDb2xsZWN0aW9uLmdldE9wZW5pbmdCYWxhbmNlKCkgK1xuICAgICAgdGhpcy5iYW5rVHJhbnNhY3Rpb25DYWxjdWxhdGlvblNlcnZpY2UuZ2V0QWxsb2NhdGVkQW1vdW50KGJhbmtUcmFuc2FjdGlvbnMuZ2V0QnlCYW5rQWNjb3VudHNJZHMoYmFua0FjY291bnRDb2xsZWN0aW9uLmdldElkcygpKSwgYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkaWZmZXJlbmNlIGJldHdlZW4gdG90YWwgbG9hbnMgYW1vdW50IGFuZCB0b3RhbCBjYXNoIGFtb3VudFxuICAgKi9cbiAgZ2V0TmV0UG9zaXRpb24oXG4gICAgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gICAgYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvblxuICApOiBudW1iZXIge1xuICAgIHJldHVybiBiYW5rQWNjb3VudHMuY3VycmVudEJhbGFuY2UgLSB0aGlzLmdldFRheFRhbmtCYWxhbmNlKGJhbmtBY2NvdW50cy5nZXRMb2FuQWNjb3VudHMoKSwgYmFua1RyYW5zYWN0aW9ucywgYWxsb2NhdGlvbnMpO1xuICB9XG59XG4iXX0=
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LWNhbGN1bGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQtY2FsY3VsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBOEQsTUFBTSxtQkFBbUIsQ0FBQztBQUN0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUszQyxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDOztPQUVHO0lBQ0gsaUJBQWlCLENBQ2YsWUFBaUQsRUFDakQsZ0JBQTJDLEVBQzNDLFdBQTRDO1FBRTVDLDZEQUE2RDtRQUM3RCxNQUFNLHFCQUFxQixHQUEwQixZQUFZLFlBQVksV0FBVyxDQUFDLENBQUM7WUFDeEYsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxZQUFZLENBQUM7UUFFZixPQUFPLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO2NBQ3hHLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUNaLFlBQW1DLEVBQ25DLGdCQUEyQyxFQUMzQyxXQUE0QztRQUU1QyxPQUFPLFlBQVksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3SCxDQUFDOytHQTNCVSw2QkFBNkI7bUhBQTdCLDZCQUE2QixjQUY1QixNQUFNOzs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFua0FjY291bnRDb2xsZWN0aW9uLCBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rQWNjb3VudENhbGN1bGF0aW9uU2VydmljZSB7XG4gIC8qKlxuICAgKiBTdW0gb2YgYmFuayBhY2NvdW50cyBvcGVuaW5nIGJhbGFuY2VzIGFuZCB0aGVpciBiYW5rIHRyYW5zYWN0aW9ucyBhbGxvY2F0ZWQgYW1vdW50c1xuICAgKi9cbiAgZ2V0VGF4VGFua0JhbGFuY2UoXG4gICAgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24gfCBCYW5rQWNjb3VudCxcbiAgICBiYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uXG4gICk6IG51bWJlciB7XG4gICAgLy8gd3JhcCBpbiBhIGNvbGxlY3Rpb24gaWYgYSBzaW5nbGUgYmFuayBhY2NvdW50IHdhcyBwcm92aWRlZFxuICAgIGNvbnN0IGJhbmtBY2NvdW50Q29sbGVjdGlvbjogQmFua0FjY291bnRDb2xsZWN0aW9uID0gYmFua0FjY291bnRzIGluc3RhbmNlb2YgQmFua0FjY291bnQgP1xuICAgICAgbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbihbYmFua0FjY291bnRzXSkgOlxuICAgICAgYmFua0FjY291bnRzO1xuXG4gICAgcmV0dXJuIGJhbmtUcmFuc2FjdGlvbnMuZ2V0QnlCYW5rQWNjb3VudHNJZHMoYmFua0FjY291bnRDb2xsZWN0aW9uLmdldElkcygpKS5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpXG4gICAgICArIGJhbmtBY2NvdW50Q29sbGVjdGlvbi5nZXRPcGVuaW5nQmFsYW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkaWZmZXJlbmNlIGJldHdlZW4gdG90YWwgbG9hbnMgYW1vdW50IGFuZCB0b3RhbCBjYXNoIGFtb3VudFxuICAgKi9cbiAgZ2V0TmV0UG9zaXRpb24oXG4gICAgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gICAgYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvblxuICApOiBudW1iZXIge1xuICAgIHJldHVybiBiYW5rQWNjb3VudHMuY3VycmVudEJhbGFuY2UgLSB0aGlzLmdldFRheFRhbmtCYWxhbmNlKGJhbmtBY2NvdW50cy5nZXRMb2FuQWNjb3VudHMoKSwgYmFua1RyYW5zYWN0aW9ucywgYWxsb2NhdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,2 @@
1
1
  export * from './bank-account-calculation.service';
2
- export * from './bank-transaction-calculation.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JhbmstYWNjb3VudC1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYW5rLWFjY291bnQtY2FsY3VsYXRpb24uc2VydmljZSc7XG4iXX0=
@@ -1,60 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { TransactionAllocationCollection, TransactionCollection } from '../../collections';
3
- import { Dictionary } from '../../models/dictionary/dictionary';
2
+ import { TransactionAllocationCollection } from '../../collections';
4
3
  import * as i0 from "@angular/core";
5
4
  /**
6
5
  * @TODO Alex: refactor, move methods to collections and models, remove this service
7
6
  */
8
7
  export class TransactionCalculationService {
9
- /**
10
- * Sum of allocations for passed transactions
11
- */
12
- getAllocatedAmount(transactions, allocations) {
13
- return allocations.getByTransactionsIds(transactions.getIds()).amount;
14
- }
15
- /**
16
- * Check if transaction is allocated
17
- */
18
- isAllocated(transaction, allocations) {
19
- return transaction.isAllocated(allocations);
20
- }
21
- /**
22
- * Get collection of allocated transactions
23
- * @TODO Alex: consider to move to collection
24
- */
25
- getAllocatedTransactions(transactions, allocations) {
26
- return new TransactionCollection(transactions.items.filter((transaction) => transaction.isAllocated(allocations)));
27
- }
28
- getUnallocatedInvoices(invoices, allocations) {
29
- return invoices.filter((invoice) => {
30
- const invoiceAllocatedAmount = allocations.filterBy('transaction.id', invoice.getTransactionsIds()).sumBy('amount');
31
- return invoice.grossPrice > invoiceAllocatedAmount;
32
- });
33
- }
34
- /**
35
- * Get invoices paid amounts grouped by invoice id
36
- */
37
- getInvoicePaidAmountById(allocations, invoices) {
38
- const allocationsByTransactionId = allocations.groupBy('transaction.id');
39
- const dictionary = new Dictionary([]);
40
- invoices.toArray().forEach((invoice) => {
41
- // fully paid if user marked invoice as paid with cash
42
- const amount = invoice.isPaidCash() ? invoice.grossPrice
43
- : allocationsByTransactionId.merge(invoice.itemsCollection.mapBy('transaction.id')).amount || 0;
44
- dictionary.add(invoice.id, amount);
45
- });
46
- return dictionary;
47
- }
48
- getInvoicesUnallocatedAmount(invoices, allocations) {
49
- return invoices.sumBy('grossPrice') - allocations.filterBy('transaction.id', invoices.getTransactionsIds()).sumBy('amount');
50
- }
51
- getTransactionsByInvoices(invoices, transactions) {
52
- const transactionsByInvoices = new TransactionCollection([]).groupBy();
53
- invoices.toArray().forEach((invoice) => {
54
- transactionsByInvoices.add(invoice.id, transactions.filterBy('id', invoice.getTransactionsIds()));
55
- });
56
- return transactionsByInvoices;
57
- }
58
8
  getAllocationsByInvoices(invoices, allocations) {
59
9
  const allocationsByInvoices = new TransactionAllocationCollection([]).groupBy();
60
10
  invoices.toArray().forEach((invoice) => {
@@ -62,9 +12,6 @@ export class TransactionCalculationService {
62
12
  });
63
13
  return allocationsByInvoices;
64
14
  }
65
- getBankTransactionsUnallocatedAmount(bankTransactions, allocations) {
66
- return bankTransactions.sumBy('amount') - allocations.getByBankTransactionsIds(bankTransactions.getIds()).sumBy('amount');
67
- }
68
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
16
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TransactionCalculationService, providedIn: 'root' }); }
70
17
  }
@@ -74,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
74
21
  providedIn: 'root'
75
22
  }]
76
23
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FsY3VsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF5QiwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFNaEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsWUFBbUMsRUFBRSxXQUE0QztRQUNsRyxPQUFPLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLFdBQXdCLEVBQUUsV0FBNEM7UUFDaEYsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0IsQ0FBQyxZQUFtQyxFQUFFLFdBQTRDO1FBQ3hHLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ3ZHLENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsUUFBK0IsRUFBRSxXQUE0QztRQUNsRyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7WUFDOUMsTUFBTSxzQkFBc0IsR0FBVyxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVILE9BQU8sT0FBTyxDQUFDLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLFdBQTRDLEVBQUUsUUFBK0I7UUFDcEcsTUFBTSwwQkFBMEIsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekUsTUFBTSxVQUFVLEdBQXVCLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTFELFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7WUFDbEQsc0RBQXNEO1lBQ3RELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3RELENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDbEcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELDRCQUE0QixDQUFDLFFBQStCLEVBQUUsV0FBNEM7UUFDeEcsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUgsQ0FBQztJQUVELHlCQUF5QixDQUFDLFFBQStCLEVBQUUsWUFBbUM7UUFDNUYsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXZFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7WUFDbEQsc0JBQXNCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsUUFBK0IsRUFBRSxXQUE0QztRQUNwRyxNQUFNLHFCQUFxQixHQUFHLElBQUksK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEYsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtZQUNsRCxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELG9DQUFvQyxDQUFDLGdCQUEyQyxFQUFFLFdBQTRDO1FBQzVILE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1SCxDQUFDOytHQTNFVSw2QkFBNkI7bUhBQTdCLDZCQUE2QixjQUY1QixNQUFNOzs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29sZUludm9pY2VDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RpY3Rpb25hcnkvZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZSwgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5cblxuLyoqXG4gKiBAVE9ETyBBbGV4OiByZWZhY3RvciwgbW92ZSBtZXRob2RzIHRvIGNvbGxlY3Rpb25zIGFuZCBtb2RlbHMsIHJlbW92ZSB0aGlzIHNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYWxjdWxhdGlvblNlcnZpY2Uge1xuICAvKipcbiAgICogU3VtIG9mIGFsbG9jYXRpb25zIGZvciBwYXNzZWQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRBbGxvY2F0ZWRBbW91bnQodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnMuZ2V0QnlUcmFuc2FjdGlvbnNJZHModHJhbnNhY3Rpb25zLmdldElkcygpKS5hbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gaXMgYWxsb2NhdGVkXG4gICAqL1xuICBpc0FsbG9jYXRlZCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiBhbGxvY2F0ZWQgdHJhbnNhY3Rpb25zXG4gICAqIEBUT0RPIEFsZXg6IGNvbnNpZGVyIHRvIG1vdmUgdG8gY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0QWxsb2NhdGVkVHJhbnNhY3Rpb25zKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0cmFuc2FjdGlvbnMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWRJbnZvaWNlcyhpbnZvaWNlczogU29sZUludm9pY2VDb2xsZWN0aW9uLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIGludm9pY2VzLmZpbHRlcigoaW52b2ljZTogU29sZUludm9pY2UpID0+IHtcbiAgICAgIGNvbnN0IGludm9pY2VBbGxvY2F0ZWRBbW91bnQ6IG51bWJlciA9IGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIGludm9pY2UuZ2V0VHJhbnNhY3Rpb25zSWRzKCkpLnN1bUJ5KCdhbW91bnQnKTtcbiAgICAgIHJldHVybiBpbnZvaWNlLmdyb3NzUHJpY2UgPiBpbnZvaWNlQWxsb2NhdGVkQW1vdW50O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbnZvaWNlcyBwYWlkIGFtb3VudHMgZ3JvdXBlZCBieSBpbnZvaWNlIGlkXG4gICAqL1xuICBnZXRJbnZvaWNlUGFpZEFtb3VudEJ5SWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24sIGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24pOiBEaWN0aW9uYXJ5PG51bWJlcj4ge1xuICAgIGNvbnN0IGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbklkID0gYWxsb2NhdGlvbnMuZ3JvdXBCeSgndHJhbnNhY3Rpb24uaWQnKTtcbiAgICBjb25zdCBkaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5PG51bWJlcj4gPSBuZXcgRGljdGlvbmFyeShbXSk7XG5cbiAgICBpbnZvaWNlcy50b0FycmF5KCkuZm9yRWFjaCgoaW52b2ljZTogU29sZUludm9pY2UpID0+IHtcbiAgICAgIC8vIGZ1bGx5IHBhaWQgaWYgdXNlciBtYXJrZWQgaW52b2ljZSBhcyBwYWlkIHdpdGggY2FzaFxuICAgICAgY29uc3QgYW1vdW50ID0gaW52b2ljZS5pc1BhaWRDYXNoKCkgPyBpbnZvaWNlLmdyb3NzUHJpY2VcbiAgICAgICAgOiBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25JZC5tZXJnZShpbnZvaWNlLml0ZW1zQ29sbGVjdGlvbi5tYXBCeSgndHJhbnNhY3Rpb24uaWQnKSkuYW1vdW50IHx8IDA7XG4gICAgICBkaWN0aW9uYXJ5LmFkZChpbnZvaWNlLmlkLCBhbW91bnQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cblxuICBnZXRJbnZvaWNlc1VuYWxsb2NhdGVkQW1vdW50KGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW52b2ljZXMuc3VtQnkoJ2dyb3NzUHJpY2UnKSAtIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIGludm9pY2VzLmdldFRyYW5zYWN0aW9uc0lkcygpKS5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvbnNCeUludm9pY2VzKGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24sIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25zQnlJbnZvaWNlcyA9IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oW10pLmdyb3VwQnkoKTtcblxuICAgIGludm9pY2VzLnRvQXJyYXkoKS5mb3JFYWNoKChpbnZvaWNlOiBTb2xlSW52b2ljZSkgPT4ge1xuICAgICAgdHJhbnNhY3Rpb25zQnlJbnZvaWNlcy5hZGQoaW52b2ljZS5pZCwgdHJhbnNhY3Rpb25zLmZpbHRlckJ5KCdpZCcsIGludm9pY2UuZ2V0VHJhbnNhY3Rpb25zSWRzKCkpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmFuc2FjdGlvbnNCeUludm9pY2VzO1xuICB9XG5cbiAgZ2V0QWxsb2NhdGlvbnNCeUludm9pY2VzKGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGFsbG9jYXRpb25zQnlJbnZvaWNlcyA9IG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKS5ncm91cEJ5KCk7XG5cbiAgICBpbnZvaWNlcy50b0FycmF5KCkuZm9yRWFjaCgoaW52b2ljZTogU29sZUludm9pY2UpID0+IHtcbiAgICAgIGFsbG9jYXRpb25zQnlJbnZvaWNlcy5hZGQoaW52b2ljZS5pZCwgYWxsb2NhdGlvbnMuZmlsdGVyQnkoJ3RyYW5zYWN0aW9uLmlkJywgaW52b2ljZS5nZXRUcmFuc2FjdGlvbnNJZHMoKSkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFsbG9jYXRpb25zQnlJbnZvaWNlcztcbiAgfVxuXG4gIGdldEJhbmtUcmFuc2FjdGlvbnNVbmFsbG9jYXRlZEFtb3VudChiYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGJhbmtUcmFuc2FjdGlvbnMuc3VtQnkoJ2Ftb3VudCcpIC0gYWxsb2NhdGlvbnMuZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGJhbmtUcmFuc2FjdGlvbnMuZ2V0SWRzKCkpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FsY3VsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF5QiwrQkFBK0IsRUFBeUIsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPbEg7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLHdCQUF3QixDQUFDLFFBQStCLEVBQUUsV0FBNEM7UUFDcEcsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhGLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7WUFDbEQscUJBQXFCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUcsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7K0dBVFUsNkJBQTZCO21IQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7NEZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL21vZGVscy9kaWN0aW9uYXJ5L2RpY3Rpb25hcnknO1xuaW1wb3J0IHsgU29sZUludm9pY2UsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9iYW5rLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuXG5cbi8qKlxuICogQFRPRE8gQWxleDogcmVmYWN0b3IsIG1vdmUgbWV0aG9kcyB0byBjb2xsZWN0aW9ucyBhbmQgbW9kZWxzLCByZW1vdmUgdGhpcyBzZXJ2aWNlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FsY3VsYXRpb25TZXJ2aWNlIHtcbiAgZ2V0QWxsb2NhdGlvbnNCeUludm9pY2VzKGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGFsbG9jYXRpb25zQnlJbnZvaWNlcyA9IG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKS5ncm91cEJ5KCk7XG5cbiAgICBpbnZvaWNlcy50b0FycmF5KCkuZm9yRWFjaCgoaW52b2ljZTogU29sZUludm9pY2UpID0+IHtcbiAgICAgIGFsbG9jYXRpb25zQnlJbnZvaWNlcy5hZGQoaW52b2ljZS5pZCwgYWxsb2NhdGlvbnMuZmlsdGVyQnkoJ3RyYW5zYWN0aW9uLmlkJywgaW52b2ljZS5nZXRUcmFuc2FjdGlvbnNJZHMoKSkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFsbG9jYXRpb25zQnlJbnZvaWNlcztcbiAgfVxufVxuIl19
@@ -461,7 +461,8 @@ class TransactionBase extends ObservableModel {
461
461
  /**
462
462
  * @TODO remove when AllocateForm is refactored and not merging with Transaction class which cause the issue
463
463
  */
464
- set tankType(tankType) { }
464
+ set tankType(tankType) {
465
+ }
465
466
  /**
466
467
  * Check if current tank is Property
467
468
  */
@@ -3015,7 +3016,7 @@ var ChartAccountsValues = [
3015
3016
  financialYear: 2023,
3016
3017
  startDate: null,
3017
3018
  endDate: null,
3018
- value: 0.52,
3019
+ value: 0.67,
3019
3020
  unitOfMeasure: "hours",
3020
3021
  createdAt: "2022-06-29 00:00:00",
3021
3022
  updatedAt: "2022-06-29 00:00:00"
@@ -3028,20 +3029,7 @@ var ChartAccountsValues = [
3028
3029
  financialYear: 2023,
3029
3030
  startDate: null,
3030
3031
  endDate: null,
3031
- value: 0.52,
3032
- unitOfMeasure: "hours",
3033
- createdAt: "2022-06-29 00:00:00",
3034
- updatedAt: "2022-06-29 00:00:00"
3035
- },
3036
- {
3037
- id: 44,
3038
- chartAccounts: {
3039
- id: 288
3040
- },
3041
- financialYear: 2023,
3042
- startDate: null,
3043
- endDate: null,
3044
- value: 0.52,
3032
+ value: 0.67,
3045
3033
  unitOfMeasure: "hours",
3046
3034
  createdAt: "2022-06-29 00:00:00",
3047
3035
  updatedAt: "2022-06-29 00:00:00"
@@ -3080,7 +3068,7 @@ var ChartAccountsValues = [
3080
3068
  financialYear: 2024,
3081
3069
  startDate: null,
3082
3070
  endDate: null,
3083
- value: 0.52,
3071
+ value: 0.67,
3084
3072
  unitOfMeasure: "hours",
3085
3073
  createdAt: "2023-07-01 00:00:00",
3086
3074
  updatedAt: "2023-07-01 00:00:00"
@@ -3093,7 +3081,7 @@ var ChartAccountsValues = [
3093
3081
  financialYear: 2024,
3094
3082
  startDate: null,
3095
3083
  endDate: null,
3096
- value: 0.52,
3084
+ value: 0.67,
3097
3085
  unitOfMeasure: "hours",
3098
3086
  createdAt: "2023-07-01 00:00:00",
3099
3087
  updatedAt: "2023-07-01 00:00:00"
@@ -3110,6 +3098,58 @@ var ChartAccountsValues = [
3110
3098
  unitOfMeasure: "kilometres",
3111
3099
  createdAt: "2023-07-01 00:00:00",
3112
3100
  updatedAt: "2023-07-01 00:00:00"
3101
+ },
3102
+ {
3103
+ id: 50,
3104
+ chartAccounts: {
3105
+ id: 888
3106
+ },
3107
+ financialYear: 2023,
3108
+ startDate: null,
3109
+ endDate: null,
3110
+ value: 0.67,
3111
+ unitOfMeasure: "hours",
3112
+ createdAt: "2024-01-29 15:15:00",
3113
+ updatedAt: "2024-01-29 15:15:00"
3114
+ },
3115
+ {
3116
+ id: 51,
3117
+ chartAccounts: {
3118
+ id: 888
3119
+ },
3120
+ financialYear: 2024,
3121
+ startDate: null,
3122
+ endDate: null,
3123
+ value: 0.67,
3124
+ unitOfMeasure: "hours",
3125
+ createdAt: "2024-01-29 15:15:00",
3126
+ updatedAt: "2024-01-29 15:15:00"
3127
+ },
3128
+ {
3129
+ id: 52,
3130
+ chartAccounts: {
3131
+ id: 888
3132
+ },
3133
+ financialYear: 2021,
3134
+ startDate: null,
3135
+ endDate: null,
3136
+ value: 0.52,
3137
+ unitOfMeasure: "hours",
3138
+ createdAt: "2024-01-30 15:15:00",
3139
+ updatedAt: "2024-01-30 15:15:00"
3140
+ },
3141
+ {
3142
+ id: 53,
3143
+ chartAccounts: {
3144
+ id: 888
3145
+ },
3146
+ financialYear: 2022,
3147
+ startDate: null,
3148
+ endDate: null,
3149
+ value: 0.52,
3150
+ unitOfMeasure: "hours",
3151
+ createdAt: "2024-01-30 15:15:00",
3152
+ updatedAt: "2024-01-30 15:15:00"
3113
3153
  }
3114
3154
  ];
3115
3155
 
@@ -4807,14 +4847,13 @@ class SoleInvoice extends SoleInvoice$1 {
4807
4847
  * When tax inclusive, GST amount is included to total price
4808
4848
  */
4809
4849
  get inclusiveGSTAmount() {
4810
- const gstPrice = this.itemsCollection.gstPrice;
4811
- return round(gstPrice - (gstPrice / (1 + ChartAccounts.GSTRatio)), 2);
4850
+ return this.itemsCollection.gstItems.reduce((sum, item) => sum + round(item.totalPrice - (item.totalPrice / (1 + ChartAccounts.GSTRatio)), 2));
4812
4851
  }
4813
4852
  /**
4814
4853
  * When tax exclusive, GST amount should be added additionally to total price
4815
4854
  */
4816
4855
  get exclusiveGSTAmount() {
4817
- return round(this.itemsCollection.gstPrice * ChartAccounts.GSTRatio, 2);
4856
+ return this.itemsCollection.gstItems.reduce((sum, item) => sum + round(item.totalPrice * ChartAccounts.GSTRatio, 2));
4818
4857
  }
4819
4858
  isDraft() {
4820
4859
  return this.status === SoleInvoiceStatusesEnum.DRAFT;
@@ -6925,6 +6964,13 @@ class TransactionCollection extends ExportableCollection {
6925
6964
  const incomes = transactions.getIncomeTransactions();
6926
6965
  return incomes.calculateAllocatedClaimAmount(allocations) + expenses.sumBy('claimAmount');
6927
6966
  }
6967
+ groupByInvoice(invoices) {
6968
+ const transactionsByInvoices = new TransactionCollection([]).groupBy();
6969
+ invoices.toArray().forEach((invoice) => {
6970
+ transactionsByInvoices.add(invoice.id, this.filterBy('id', invoice.getTransactionsIds()));
6971
+ });
6972
+ return transactionsByInvoices;
6973
+ }
6928
6974
  }
6929
6975
 
6930
6976
  class TransactionAllocationCollection extends Collection {
@@ -6963,6 +7009,13 @@ class TransactionAllocationCollection extends Collection {
6963
7009
  hasBankTransaction(bankTransaction) {
6964
7010
  return !!this.items.find((allocation) => allocation.bankTransaction.id === bankTransaction.id);
6965
7011
  }
7012
+ groupByInvoice(invoices) {
7013
+ const allocationsByInvoices = new TransactionAllocationCollection([]).groupBy();
7014
+ invoices.toArray().forEach((invoice) => {
7015
+ allocationsByInvoices.add(invoice.id, this.filterBy('transaction.id', invoice.getTransactionsIds()));
7016
+ });
7017
+ return allocationsByInvoices;
7018
+ }
6966
7019
  }
6967
7020
 
6968
7021
  class DepreciationCollection extends Collection {
@@ -8195,8 +8248,8 @@ class SoleBusinessLossesCollection extends Collection {
8195
8248
  }
8196
8249
 
8197
8250
  class SoleInvoiceItemCollection extends Collection {
8198
- get gstPrice() {
8199
- return this.filterBy('isGST', true).sumBy('totalPrice');
8251
+ get gstItems() {
8252
+ return this.filterBy('isGST', true);
8200
8253
  }
8201
8254
  }
8202
8255
 
@@ -8219,6 +8272,26 @@ class SoleInvoiceCollection extends Collection {
8219
8272
  getTransactionsIds() {
8220
8273
  return flatten(this.items.map((invoice) => invoice.getTransactionsIds()));
8221
8274
  }
8275
+ getUnallocated(allocations) {
8276
+ return this.filter((invoice) => {
8277
+ const invoiceAllocatedAmount = allocations.filterBy('transaction.id', invoice.getTransactionsIds()).sumBy('amount');
8278
+ return invoice.grossPrice > invoiceAllocatedAmount;
8279
+ });
8280
+ }
8281
+ getUnallocatedAmount(allocations) {
8282
+ return this.sumBy('grossPrice') - allocations.filterBy('transaction.id', this.getTransactionsIds()).sumBy('amount');
8283
+ }
8284
+ getPaidAmountById(allocations) {
8285
+ const allocationsByTransactionId = allocations.groupBy('transaction.id');
8286
+ const dictionary = new Dictionary([]);
8287
+ this.toArray().forEach((invoice) => {
8288
+ // fully paid if user marked invoice as paid with cash
8289
+ const amount = invoice.isPaidCash() ? invoice.grossPrice
8290
+ : allocationsByTransactionId.merge(invoice.itemsCollection.mapBy('transaction.id')).amount || 0;
8291
+ dictionary.add(invoice.id, amount);
8292
+ });
8293
+ return dictionary;
8294
+ }
8222
8295
  }
8223
8296
 
8224
8297
  class ServiceProductCollection extends Collection {
@@ -8807,6 +8880,9 @@ class BankTransactionCollection extends Collection {
8807
8880
  getUnallocatedAmount(allocations) {
8808
8881
  return round(this.getAmount() - allocations.getByBankTransactionsIds(this.getIds()).amount, 2);
8809
8882
  }
8883
+ getAllocatedAmount(allocations) {
8884
+ return allocations.getByBankTransactionsIds(this.getIds()).amount;
8885
+ }
8810
8886
  /**
8811
8887
  * get date of the last transaction
8812
8888
  */
@@ -8893,11 +8969,23 @@ class BankTransactionCollection extends Collection {
8893
8969
  }
8894
8970
  });
8895
8971
  }
8972
+ getAllocated(allocations) {
8973
+ return this.filter((bankTransaction) => bankTransaction.isAllocated(allocations));
8974
+ }
8975
+ getUnallocated(allocations) {
8976
+ return this.filter((bankTransaction) => !bankTransaction.isAllocated(allocations));
8977
+ }
8896
8978
  /**
8897
- * Get collection of unallocated bankTransactions
8979
+ * Allocated sum of credit transactions
8898
8980
  */
8899
- getUnallocated(allocations) {
8900
- return new BankTransactionCollection(this.items.filter((bankTransaction) => !bankTransaction.isAllocated(allocations)));
8981
+ getCreditAmount(allocations) {
8982
+ return this.creditTransactions.getAllocatedAmount(allocations);
8983
+ }
8984
+ /**
8985
+ * Allocated sum of debit transactions
8986
+ */
8987
+ getDebitAmount(allocations) {
8988
+ return this.debitTransactions.getAllocatedAmount(allocations);
8901
8989
  }
8902
8990
  }
8903
8991
 
@@ -18219,68 +18307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18219
18307
  args: ['environment']
18220
18308
  }] }]; } });
18221
18309
 
18222
- /**
18223
- * @TODO move to collection
18224
- */
18225
- class BankTransactionCalculationService {
18226
- /**
18227
- * Sum of allocations for passed bank transactions
18228
- */
18229
- getAllocatedAmount(bankTransactions, allocations) {
18230
- return allocations.getByBankTransactionsIds(bankTransactions.getIds()).amount;
18231
- }
18232
- /**
18233
- * Difference between total bank transactions amount and sum of allocations for passed bank transactions
18234
- */
18235
- getUnallocatedAmount(bankTransactionCollection, allocations) {
18236
- return bankTransactionCollection.getAmount() - allocations.amount;
18237
- }
18238
- /**
18239
- * Check if bank transaction is allocated
18240
- */
18241
- isAllocated(bankTransaction, allocations) {
18242
- return bankTransaction.amount === this.getAllocatedAmount(new BankTransactionCollection([bankTransaction]), allocations);
18243
- }
18244
- /**
18245
- * Get collection of allocated bank transactions
18246
- * @TODO Alex: consider to move to collection
18247
- */
18248
- getAllocatedBankTransactions(bankTransactions, allocations) {
18249
- return new BankTransactionCollection(bankTransactions.items.filter((bankTransaction) => this.isAllocated(bankTransaction, allocations)));
18250
- }
18251
- /**
18252
- * Get collection of unallocated bank transactions
18253
- * @TODO Alex: consider to move to collection
18254
- */
18255
- getUnallocated(bankTransactions, allocations) {
18256
- return new BankTransactionCollection(bankTransactions.items.filter((bankTransaction) => !this.isAllocated(bankTransaction, allocations)));
18257
- }
18258
- /**
18259
- * Allocated sum of credit transactions
18260
- */
18261
- getCreditAmount(bankTransactions, allocations) {
18262
- return allocations.getByBankTransactionsIds(bankTransactions.creditTransactions.getIds()).amount;
18263
- }
18264
- /**
18265
- * Allocated sum of debit transactions
18266
- */
18267
- getDebitAmount(bankTransactions, allocations) {
18268
- return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
18269
- }
18270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18271
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' }); }
18272
- }
18273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
18274
- type: Injectable,
18275
- args: [{
18276
- providedIn: 'root'
18277
- }]
18278
- }] });
18279
-
18280
18310
  class BankAccountCalculationService {
18281
- constructor(bankTransactionCalculationService) {
18282
- this.bankTransactionCalculationService = bankTransactionCalculationService;
18283
- }
18284
18311
  /**
18285
18312
  * Sum of bank accounts opening balances and their bank transactions allocated amounts
18286
18313
  */
@@ -18289,8 +18316,8 @@ class BankAccountCalculationService {
18289
18316
  const bankAccountCollection = bankAccounts instanceof BankAccount ?
18290
18317
  new BankAccountCollection([bankAccounts]) :
18291
18318
  bankAccounts;
18292
- return bankAccountCollection.getOpeningBalance() +
18293
- this.bankTransactionCalculationService.getAllocatedAmount(bankTransactions.getByBankAccountsIds(bankAccountCollection.getIds()), allocations);
18319
+ return bankTransactions.getByBankAccountsIds(bankAccountCollection.getIds()).getAllocatedAmount(allocations)
18320
+ + bankAccountCollection.getOpeningBalance();
18294
18321
  }
18295
18322
  /**
18296
18323
  * get difference between total loans amount and total cash amount
@@ -18298,7 +18325,7 @@ class BankAccountCalculationService {
18298
18325
  getNetPosition(bankAccounts, bankTransactions, allocations) {
18299
18326
  return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
18300
18327
  }
18301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
18328
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18302
18329
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' }); }
18303
18330
  }
18304
18331
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankAccountCalculationService, decorators: [{
@@ -18306,7 +18333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18306
18333
  args: [{
18307
18334
  providedIn: 'root'
18308
18335
  }]
18309
- }], ctorParameters: function () { return [{ type: BankTransactionCalculationService }]; } });
18336
+ }] });
18310
18337
 
18311
18338
  class ExportFormatterService {
18312
18339
  constructor(currencyPipe, percentPipe, datePipe) {
@@ -18934,55 +18961,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18934
18961
  * @TODO Alex: refactor, move methods to collections and models, remove this service
18935
18962
  */
18936
18963
  class TransactionCalculationService {
18937
- /**
18938
- * Sum of allocations for passed transactions
18939
- */
18940
- getAllocatedAmount(transactions, allocations) {
18941
- return allocations.getByTransactionsIds(transactions.getIds()).amount;
18942
- }
18943
- /**
18944
- * Check if transaction is allocated
18945
- */
18946
- isAllocated(transaction, allocations) {
18947
- return transaction.isAllocated(allocations);
18948
- }
18949
- /**
18950
- * Get collection of allocated transactions
18951
- * @TODO Alex: consider to move to collection
18952
- */
18953
- getAllocatedTransactions(transactions, allocations) {
18954
- return new TransactionCollection(transactions.items.filter((transaction) => transaction.isAllocated(allocations)));
18955
- }
18956
- getUnallocatedInvoices(invoices, allocations) {
18957
- return invoices.filter((invoice) => {
18958
- const invoiceAllocatedAmount = allocations.filterBy('transaction.id', invoice.getTransactionsIds()).sumBy('amount');
18959
- return invoice.grossPrice > invoiceAllocatedAmount;
18960
- });
18961
- }
18962
- /**
18963
- * Get invoices paid amounts grouped by invoice id
18964
- */
18965
- getInvoicePaidAmountById(allocations, invoices) {
18966
- const allocationsByTransactionId = allocations.groupBy('transaction.id');
18967
- const dictionary = new Dictionary([]);
18968
- invoices.toArray().forEach((invoice) => {
18969
- // fully paid if user marked invoice as paid with cash
18970
- const amount = invoice.isPaidCash() ? invoice.grossPrice
18971
- : allocationsByTransactionId.merge(invoice.itemsCollection.mapBy('transaction.id')).amount || 0;
18972
- dictionary.add(invoice.id, amount);
18973
- });
18974
- return dictionary;
18975
- }
18976
- getInvoicesUnallocatedAmount(invoices, allocations) {
18977
- return invoices.sumBy('grossPrice') - allocations.filterBy('transaction.id', invoices.getTransactionsIds()).sumBy('amount');
18978
- }
18979
- getTransactionsByInvoices(invoices, transactions) {
18980
- const transactionsByInvoices = new TransactionCollection([]).groupBy();
18981
- invoices.toArray().forEach((invoice) => {
18982
- transactionsByInvoices.add(invoice.id, transactions.filterBy('id', invoice.getTransactionsIds()));
18983
- });
18984
- return transactionsByInvoices;
18985
- }
18986
18964
  getAllocationsByInvoices(invoices, allocations) {
18987
18965
  const allocationsByInvoices = new TransactionAllocationCollection([]).groupBy();
18988
18966
  invoices.toArray().forEach((invoice) => {
@@ -18990,9 +18968,6 @@ class TransactionCalculationService {
18990
18968
  });
18991
18969
  return allocationsByInvoices;
18992
18970
  }
18993
- getBankTransactionsUnallocatedAmount(bankTransactions, allocations) {
18994
- return bankTransactions.sumBy('amount') - allocations.getByBankTransactionsIds(bankTransactions.getIds()).sumBy('amount');
18995
- }
18996
18971
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18997
18972
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TransactionCalculationService, providedIn: 'root' }); }
18998
18973
  }
@@ -23664,5 +23639,5 @@ var MessagesEnum;
23664
23639
  * Generated bundle index. Do not edit.
23665
23640
  */
23666
23641
 
23667
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceExpenseEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsUnallocatableListEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteMessages, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingImport, HoldingImportForm, HoldingImportMessagesEnum, HoldingImportService, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MixpanelService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyForecastForm, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareForm, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationCollection, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, taxReviewFilterPredicate, toArray };
23642
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceExpenseEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsUnallocatableListEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteMessages, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingImport, HoldingImportForm, HoldingImportMessagesEnum, HoldingImportService, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MixpanelService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyForecastForm, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareForm, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationCollection, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, taxReviewFilterPredicate, toArray };
23668
23643
  //# sourceMappingURL=taxtank-core.mjs.map