taxtank-core 3.0.37 → 3.0.38

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.
@@ -28,7 +28,7 @@ import cloneDeep$1 from 'lodash/cloneDeep';
28
28
  import compact from 'lodash/compact';
29
29
  import groupBy from 'lodash/groupBy';
30
30
  import moment$1 from 'moment/moment';
31
- import { Subject, Observable, ReplaySubject, shareReplay, of, forkJoin, EMPTY, throwError, BehaviorSubject, tap, concatMap, combineLatest, from, merge as merge$1 } from 'rxjs';
31
+ import { Subject, Observable, ReplaySubject, shareReplay, of, forkJoin, EMPTY, throwError, BehaviorSubject, tap, concatMap, combineLatest, map as map$1, catchError as catchError$1, from, merge as merge$1 } from 'rxjs';
32
32
  import { EventSourcePolyfill } from 'event-source-polyfill/src/eventsource.min.js';
33
33
  import clone from 'lodash/clone';
34
34
  import merge from 'lodash/merge';
@@ -2060,6 +2060,8 @@ var MonthNumberEnum;
2060
2060
 
2061
2061
  const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
2062
2062
 
2063
+ const DAY_MS = 24 * 60 * 60 * 1000;
2064
+
2063
2065
  /**
2064
2066
  * @TODO refactor with Map
2065
2067
  * List of collections grouped by passed property
@@ -6705,7 +6707,7 @@ class Property extends Property$1 {
6705
6707
  * Any assets acquired before this day are CGT exempt (because the tax didn't exist before this date).
6706
6708
  */
6707
6709
  static { this.preCGTAssetDate = new Date(1985, 9, 20); }
6708
- static { this.corelogicCooldown = 30 * 24 * 60 * 60 * 1000; }
6710
+ static { this.corelogicCooldown = 30 * DAY_MS; }
6709
6711
  get name() {
6710
6712
  return this.address.name;
6711
6713
  }
@@ -7356,10 +7358,7 @@ __decorate([
7356
7358
  class Transaction extends Transaction$1 {
7357
7359
  constructor() {
7358
7360
  super(...arguments);
7359
- /**
7360
- * @TODO rename to childTransactions
7361
- */
7362
- this.transactions = [];
7361
+ this.childTransactions = [];
7363
7362
  this.metaFields = [];
7364
7363
  this.allocations = [];
7365
7364
  this.tax = 0;
@@ -7369,6 +7368,16 @@ class Transaction extends Transaction$1 {
7369
7368
  this.currency = 'AUD';
7370
7369
  }
7371
7370
  static { this.className = 'Transaction'; }
7371
+ /**
7372
+ * @deprecated use childTransactions because backend uses childTransactions
7373
+ * @TODO: taxtankit TT-6208 refactoring. rename all mentions of transactions to childTransactions and remove get/set
7374
+ */
7375
+ get transactions() {
7376
+ return this.childTransactions;
7377
+ }
7378
+ set transactions(transactions) {
7379
+ this.childTransactions = transactions;
7380
+ }
7372
7381
  get invoiceId() {
7373
7382
  return this.invoiceItem?.invoice.id;
7374
7383
  }
@@ -7492,7 +7501,7 @@ class Transaction extends Transaction$1 {
7492
7501
  return this.grossAmountWithoutGst + this.gstAmount;
7493
7502
  }
7494
7503
  get grossTaxableAmount() {
7495
- const untaxableAdjustment = new Collection(this.transactions)
7504
+ const untaxableAdjustment = new Collection(this.childTransactions)
7496
7505
  .filter(transaction => transaction.chartAccounts.id === ChartAccountsSalaryAdjustmentsListEnum.PRE_TAX_DEDUCTIONS_OTHER).sumBy('amount');
7497
7506
  return this.grossAmount - untaxableAdjustment;
7498
7507
  }
@@ -7508,7 +7517,7 @@ class Transaction extends Transaction$1 {
7508
7517
  return grossAmount;
7509
7518
  }
7510
7519
  // Included transactions already affect the parent amount.
7511
- const adjustments = new Collection(this.transactions)
7520
+ const adjustments = new Collection(this.childTransactions)
7512
7521
  .filter(transaction => !transaction.chartAccounts?.isAdjustmentIncluded());
7513
7522
  const income = adjustments.filter(transaction => transaction.isIncome()).sumBy('amount');
7514
7523
  const expense = adjustments.filter(transaction => transaction.isExpense()).sumBy('amount', true);
@@ -7525,7 +7534,7 @@ class Transaction extends Transaction$1 {
7525
7534
  * ie user received 1000$ salary including 100$ tips. NetAmount=1000$, amount=900$, tips=100$
7526
7535
  */
7527
7536
  get netAmount() {
7528
- return new Collection(this.transactions)
7537
+ return new Collection(this.childTransactions)
7529
7538
  .filter((t) => t.chartAccounts?.isAdjustmentIncluded())
7530
7539
  .sumBy('amount') + this.amountWithGst;
7531
7540
  }
@@ -7562,7 +7571,10 @@ class Transaction extends Transaction$1 {
7562
7571
  }
7563
7572
  __decorate([
7564
7573
  Type(() => Transaction)
7565
- ], Transaction.prototype, "transactions", void 0);
7574
+ ], Transaction.prototype, "childTransactions", void 0);
7575
+ __decorate([
7576
+ Type(() => Transaction)
7577
+ ], Transaction.prototype, "transactions", null);
7566
7578
  __decorate([
7567
7579
  Type(() => Property)
7568
7580
  ], Transaction.prototype, "property", void 0);
@@ -7750,12 +7762,58 @@ var TransactionCategoryEnum;
7750
7762
  TransactionCategoryEnum[TransactionCategoryEnum["PERSONAL"] = 3] = "PERSONAL";
7751
7763
  })(TransactionCategoryEnum || (TransactionCategoryEnum = {}));
7752
7764
 
7765
+ const HIGH_CONFIDENCE = 0.8;
7766
+ const MEDIUM_CONFIDENCE = 0.6;
7767
+ /**
7768
+ * Backend finds and matches existing transactions with uploaded receipt to decide what to do with it:
7769
+ * transaction - attach receipt to it, bankTransaction - allocate it, no match - create new transaction
7770
+ */
7771
+ class TransactionImportMatch extends AbstractModel {
7772
+ get confidenceLabel() {
7773
+ switch (true) {
7774
+ case this.confidence >= HIGH_CONFIDENCE:
7775
+ return 'high';
7776
+ case this.confidence >= MEDIUM_CONFIDENCE:
7777
+ return 'medium';
7778
+ default:
7779
+ return 'low';
7780
+ }
7781
+ }
7782
+ get amountDiff() {
7783
+ return this.actualAmount - this.expectedAmount;
7784
+ }
7785
+ get daysDiff() {
7786
+ return Math.round((this.actualDate.getTime() - this.expectedDate.getTime()) / DAY_MS);
7787
+ }
7788
+ }
7789
+ __decorate([
7790
+ Type(() => Transaction)
7791
+ ], TransactionImportMatch.prototype, "transaction", void 0);
7792
+ __decorate([
7793
+ Type(() => BankTransaction)
7794
+ ], TransactionImportMatch.prototype, "bankTransaction", void 0);
7795
+ __decorate([
7796
+ Type(() => Date)
7797
+ ], TransactionImportMatch.prototype, "expectedDate", void 0);
7798
+ __decorate([
7799
+ Type(() => Date)
7800
+ ], TransactionImportMatch.prototype, "actualDate", void 0);
7801
+
7753
7802
  /**
7754
7803
  * Transaction parsed from an imported receipt.
7755
7804
  */
7756
- class TransactionSuggestion extends Transaction {
7757
- static { this.className = 'TransactionSuggestion'; }
7805
+ class TransactionImport extends AbstractModel {
7806
+ static { this.className = 'TransactionImport'; }
7758
7807
  }
7808
+ __decorate([
7809
+ Type(() => Transaction)
7810
+ ], TransactionImport.prototype, "transaction", void 0);
7811
+ __decorate([
7812
+ Type(() => BankAccount)
7813
+ ], TransactionImport.prototype, "bankAccount", void 0);
7814
+ __decorate([
7815
+ Exclude({ toPlainOnly: true })
7816
+ ], TransactionImport.prototype, "localFile", void 0);
7759
7817
 
7760
7818
  /**
7761
7819
  * @TODO Alex: clarify grouping rules and refactor
@@ -18486,7 +18544,7 @@ class TransactionService extends RestService {
18486
18544
  this.listenNotifications();
18487
18545
  }
18488
18546
  get(path = this.apiUrl) {
18489
- return super.get(path).pipe(map(transactions => this.groupByParent(transactions)));
18547
+ return super.get(path).pipe(map$1(transactions => this.groupByParent(transactions)));
18490
18548
  }
18491
18549
  /**
18492
18550
  * Add single new transaction
@@ -18495,7 +18553,7 @@ class TransactionService extends RestService {
18495
18553
  add(model) {
18496
18554
  // we don't have POST API endpoint for single transaction
18497
18555
  return this.addBatch([model])
18498
- .pipe(map((newTransactions) => {
18556
+ .pipe(map$1((newTransactions) => {
18499
18557
  // @TODO alex
18500
18558
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.TRANSACTION_CREATED, newTransactions[0]));
18501
18559
  return newTransactions[0];
@@ -18505,13 +18563,13 @@ class TransactionService extends RestService {
18505
18563
  * get transactions related with property
18506
18564
  */
18507
18565
  getByPropertyId(propertyId) {
18508
- return this.get().pipe(map((transactions) => transactions.filter((transaction) => transaction.property?.id === propertyId)));
18566
+ return this.get().pipe(map$1((transactions) => transactions.filter((transaction) => transaction.property?.id === propertyId)));
18509
18567
  }
18510
18568
  /**
18511
18569
  * get list of transactions with tank type 'Work'
18512
18570
  */
18513
18571
  getWorkTransactions() {
18514
- return this.get().pipe(map((transactions) => transactions.filter((transaction) => transaction.isWorkTank())));
18572
+ return this.get().pipe(map$1((transactions) => transactions.filter((transaction) => transaction.isWorkTank())));
18515
18573
  }
18516
18574
  /**
18517
18575
  * Get list of property holding costs (transactions related to vacant land property)
@@ -18520,7 +18578,7 @@ class TransactionService extends RestService {
18520
18578
  return this.fetch(`${this.environment.apiV2}/properties/${propertyId}/holding-costs`, false);
18521
18579
  }
18522
18580
  getWithoutTaxFreeProperty(categories = ['']) {
18523
- return this.fetch(`${this.apiUrl}`, false, { excludeTaxFreePropertyCategories: categories }).pipe(map(transactions => this.groupByParent(transactions)));
18581
+ return this.fetch(`${this.apiUrl}`, false, { excludeTaxFreePropertyCategories: categories }).pipe(map$1(transactions => this.groupByParent(transactions)));
18524
18582
  }
18525
18583
  groupByParent(transactions) {
18526
18584
  transactions.forEach((transaction) => {
@@ -18535,16 +18593,16 @@ class TransactionService extends RestService {
18535
18593
  */
18536
18594
  getTaxableWorkTransactions() {
18537
18595
  return this.getWorkTransactions()
18538
- .pipe(map((transactions) => transactions.filter((transaction) => !!transaction.chartAccounts.taxReturnItem)));
18596
+ .pipe(map$1((transactions) => transactions.filter((transaction) => !!transaction.chartAccounts.taxReturnItem)));
18539
18597
  }
18540
18598
  /**
18541
18599
  * add multiple transactions
18542
18600
  * @param transactions List of new Transaction instances for saving
18543
18601
  */
18544
18602
  addBatch(transactions) {
18545
- transactions = _.cloneDeep(transactions);
18603
+ transactions = cloneDeep$1(transactions);
18546
18604
  return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(transactions))
18547
- .pipe(map((response) => {
18605
+ .pipe(map$1((response) => {
18548
18606
  const addedTransactions = response.map((item) => this.createModelInstance(item));
18549
18607
  transactions.forEach((transaction, index) => {
18550
18608
  // @TODO Viktor: implement API for saving of nested transactions
@@ -18574,7 +18632,7 @@ class TransactionService extends RestService {
18574
18632
  */
18575
18633
  update(transaction) {
18576
18634
  return this.http.put(`${this.environment.apiV2}/${this.url}/${transaction.id}`, classToPlain(transaction))
18577
- .pipe(map((response) => {
18635
+ .pipe(map$1((response) => {
18578
18636
  const updatedTransaction = this.createModelInstance(response);
18579
18637
  // @TODO Viktor: implement API for saving of nested transactions
18580
18638
  if (transaction.transactions.length) {
@@ -18604,7 +18662,7 @@ class TransactionService extends RestService {
18604
18662
  */
18605
18663
  updateBatch(transactions) {
18606
18664
  return this.http.put(`${this.environment.apiV2}/${this.url}`, classToPlain(transactions))
18607
- .pipe(map((response) => {
18665
+ .pipe(map$1((response) => {
18608
18666
  const updatedTransactions = response.map((item) => this.createModelInstance(item));
18609
18667
  updatedTransactions.forEach((updatedTransaction) => {
18610
18668
  replace(this.cache, updatedTransaction);
@@ -18614,7 +18672,7 @@ class TransactionService extends RestService {
18614
18672
  }));
18615
18673
  }
18616
18674
  deleteBatch(models) {
18617
- return super.deleteBatch(models).pipe(map(() => {
18675
+ return super.deleteBatch(models).pipe(map$1(() => {
18618
18676
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.TRANSACTION_DELETED, models[0]));
18619
18677
  }));
18620
18678
  }
@@ -18624,7 +18682,7 @@ class TransactionService extends RestService {
18624
18682
  */
18625
18683
  delete(model) {
18626
18684
  return this.http.delete(`${this.environment.apiV2}/${this.url}/${model.id}`)
18627
- .pipe(map(() => {
18685
+ .pipe(map$1(() => {
18628
18686
  this.cache = this.cache.filter((transaction) => {
18629
18687
  // when delete transfer we delete actually 2 transactions
18630
18688
  if (model.isTransfer) {
@@ -18647,13 +18705,6 @@ class TransactionService extends RestService {
18647
18705
  this.transactionDeleted.emit(model);
18648
18706
  }));
18649
18707
  }
18650
- parse(files) {
18651
- const formData = new FormData();
18652
- files.forEach(file => {
18653
- formData.append('files[]', file);
18654
- });
18655
- return this.http.post(`${this.apiUrl}/parse`, formData).pipe(map((transaction) => plainToClass(TransactionSuggestion, transaction)));
18656
- }
18657
18708
  /**
18658
18709
  * Listen to EventDispatcherService event related to Depreciation changing
18659
18710
  */
@@ -18771,6 +18822,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
18771
18822
  }]
18772
18823
  }] });
18773
18824
 
18825
+ /**
18826
+ * Service to parse receipts into transactions and find existing matches for them
18827
+ */
18828
+ class TransactionImportService extends RestService$1 {
18829
+ constructor() {
18830
+ super(...arguments);
18831
+ this.modelClass = TransactionImport;
18832
+ this.collectionClass = Collection;
18833
+ this.endpointUri = 'transaction-imports';
18834
+ this.disabledMethods = ['get', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
18835
+ }
18836
+ parse(file) {
18837
+ const formData = new FormData();
18838
+ formData.append('file', file);
18839
+ return this.importFile(formData, `${this.apiUrl}/parse`).pipe(
18840
+ // document is impossible to parse: import without transaction, user adds it manually
18841
+ catchError$1(() => of(new TransactionImport())), map$1((transactionImport) => {
18842
+ // @todo: taxtankit change to regular work with files in TT-5613
18843
+ // backend doesn't return a file URL, so create a local blob URL to display the uploaded file preview
18844
+ transactionImport.localFile = plainToClass(AppFile, {
18845
+ publicUrl: URL.createObjectURL(file),
18846
+ originalName: file.name,
18847
+ size: file.size,
18848
+ mimeType: file.type,
18849
+ });
18850
+ return transactionImport;
18851
+ }));
18852
+ }
18853
+ match(transactionImport) {
18854
+ // backend returns matches instead of the posted model
18855
+ return this.post(transactionImport, `${this.apiUrl}/match`).pipe(map$1((matches) => plainToClass(TransactionImportMatch, matches)));
18856
+ }
18857
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TransactionImportService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
18858
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TransactionImportService, providedIn: 'root' }); }
18859
+ }
18860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TransactionImportService, decorators: [{
18861
+ type: Injectable,
18862
+ args: [{
18863
+ providedIn: 'root'
18864
+ }]
18865
+ }] });
18866
+
18774
18867
  // @TODO Artem: implement cache and extend rest?
18775
18868
  class YoutubeService {
18776
18869
  static { this.googleUrl = `https://www.googleapis.com/youtube/v3/playlistItems?part=snippet`; }
@@ -25221,7 +25314,8 @@ const ENDPOINTS = {
25221
25314
  TRANSACTIONS_GET: new Endpoint('GET', '\\/transactions'),
25222
25315
  TRANSACTIONS_POST: new Endpoint('POST', '\\/transactions'),
25223
25316
  TRANSACTIONS_PUT: new Endpoint('PUT', '\\/transactions'),
25224
- TRANSACTIONS_PARSE: new Endpoint('POST', '\\/transactions\\/parse'),
25317
+ TRANSACTION_IMPORTS_PARSE: new Endpoint('POST', '\\/transaction-imports\\/parse'),
25318
+ TRANSACTION_IMPORTS_MATCH: new Endpoint('POST', '\\/transaction-imports\\/match'),
25225
25319
  TRANSACTIONS_ALLOCATIONS_GET: new Endpoint('GET', '\\/transaction-allocations'),
25226
25320
  TRANSACTIONS_ALLOCATIONS_POST: new Endpoint('POST', '\\/transaction-allocations'),
25227
25321
  TRANSACTIONS_ALLOCATIONS_DELETE: new Endpoint('DELETE', '\\/transaction-allocations\\/\\d+'),
@@ -25382,13 +25476,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
25382
25476
  }] }] });
25383
25477
 
25384
25478
  const ADBLOCK_ERROR_HTML = new InjectionToken('ADBLOCK_ERROR_HTML');
25385
- const ADBLOCK_ERROR_HTML_VALUE = `
25386
- <div class="text-center">
25387
- <strong>Action needed - Your adblocker is blocking CoreLogic</strong>
25388
- To add a property in TaxTank we need to fetch data from CoreLogic, however your ad blocker is getting in the way.
25389
- Please disable your adblocker or whitelist TaxTank to continue.
25390
- <a class="btn" target="_blank" href="https://support.taxtank.com.au/en/articles/10505609-how-to-ensure-seamless-functionality-while-using-ad-blockers-with-taxtank">Learn more</a>
25391
- </div>
25479
+ const ADBLOCK_ERROR_HTML_VALUE = `
25480
+ <div class="text-center">
25481
+ <strong>Action needed - Your adblocker is blocking CoreLogic</strong>
25482
+ To add a property in TaxTank we need to fetch data from CoreLogic, however your ad blocker is getting in the way.
25483
+ Please disable your adblocker or whitelist TaxTank to continue.
25484
+ <a class="btn" target="_blank" href="https://support.taxtank.com.au/en/articles/10505609-how-to-ensure-seamless-functionality-while-using-ad-blockers-with-taxtank">Learn more</a>
25485
+ </div>
25392
25486
  `;
25393
25487
 
25394
25488
  /**
@@ -29757,17 +29851,30 @@ class TransactionBaseForm extends AbstractForm {
29757
29851
  if (!this.isGstApplicable()) {
29758
29852
  return;
29759
29853
  }
29760
- // update gst if applicable
29761
- if (chartAccounts.isGST) {
29762
- this.get('isGST').enable();
29763
- this.get('isGST').patchValue(true);
29764
- }
29765
- else {
29766
- this.get('isGST').patchValue(false);
29767
- this.get('isGST').disable();
29768
- }
29854
+ this.updateGst(chartAccounts);
29769
29855
  });
29770
29856
  }
29857
+ /**
29858
+ * @todo: taxtankit TT-6207 move sole related code to sole related class
29859
+ * sole forms allow to change business, gst depends on the selected business
29860
+ */
29861
+ watchBusiness(soleDetails) {
29862
+ this.get('business').valueChanges.subscribe((business) => {
29863
+ this.registeredForGst = business?.getIsGST(soleDetails);
29864
+ this.updateGst(this.get('chartAccounts').value);
29865
+ });
29866
+ }
29867
+ updateGst(chartAccounts) {
29868
+ // update gst if applicable
29869
+ if (this.registeredForGst && chartAccounts?.isGST) {
29870
+ this.get('isGST').enable();
29871
+ this.get('isGST').patchValue(true);
29872
+ }
29873
+ else {
29874
+ this.get('isGST').patchValue(false);
29875
+ this.get('isGST').disable();
29876
+ }
29877
+ }
29771
29878
  updateGstAmount() {
29772
29879
  this.get('gstAmount').patchValue(this.amountWithGST - this.amount);
29773
29880
  }
@@ -29775,7 +29882,7 @@ class TransactionBaseForm extends AbstractForm {
29775
29882
  this.patchField('amount', this.isGST ? this.amountWithGST / ChartAccounts.GSTCoefficient : this.amountWithGST);
29776
29883
  }
29777
29884
  isGstApplicable() {
29778
- return !!this.registeredForGst && !!this.model.business;
29885
+ return !!this.registeredForGst && !!(this.get('business')?.value ?? this.model.business);
29779
29886
  }
29780
29887
  get amount() {
29781
29888
  return this.get('amount').value;
@@ -29807,6 +29914,37 @@ var MessagesEnum$1;
29807
29914
  MessagesEnum["DATE_VALIDATION_ERROR"] = "The transaction date is before the ownership date, please update the date to confirm";
29808
29915
  })(MessagesEnum$1 || (MessagesEnum$1 = {}));
29809
29916
 
29917
+ /**
29918
+ * Child transaction (adjustment) of income transaction, like tips or fees
29919
+ */
29920
+ class ChildTransactionForm extends AbstractForm {
29921
+ constructor(transaction = plainToClass(Transaction, {})) {
29922
+ super({
29923
+ chartAccounts: new UntypedFormControl(transaction.chartAccounts, [Validators.required, autocompleteValidator()]),
29924
+ amount: new UntypedFormControl(transaction.amount, [Validators.required]),
29925
+ }, transaction);
29926
+ }
29927
+ /**
29928
+ * income transactions might include adjustments (child transactions), like tips or fees.
29929
+ * Adjustments inherit most of the fields from parent transaction
29930
+ */
29931
+ build(parent) {
29932
+ const childTransaction = this.value;
29933
+ return this.createModelInstance(Object.assign({
29934
+ description: childTransaction.chartAccounts?.name,
29935
+ currency: parent.currency,
29936
+ exchangeRate: parent.exchangeRate,
29937
+ date: parent.date,
29938
+ claimPercent: (parent.claimPercent * childTransaction.chartAccounts?.taxablePercent) / 100,
29939
+ source: TransactionSourceEnum.BANK_TRANSACTION,
29940
+ incomeSource: parent.incomeSource,
29941
+ property: parent.property
29942
+ },
29943
+ // new model has class defaults (claimPercent, currency...) which must not override parent fields
29944
+ this.model.id ? this.model : {}, childTransaction));
29945
+ }
29946
+ }
29947
+
29810
29948
  class TransactionForm extends TransactionBaseForm {
29811
29949
  constructor(transaction, registeredForGst, allocations, controls = {}) {
29812
29950
  super(transaction, registeredForGst, Object.assign(controls, {
@@ -29833,13 +29971,8 @@ class TransactionForm extends TransactionBaseForm {
29833
29971
  this.get('date').disable();
29834
29972
  }
29835
29973
  }
29836
- addTransactionControl(transaction = plainToClass(Transaction, {})) {
29837
- const formGroup = new UntypedFormGroup({
29838
- id: new UntypedFormControl(transaction.id),
29839
- chartAccounts: new UntypedFormControl(transaction.chartAccounts, [Validators.required, autocompleteValidator()]),
29840
- amount: new UntypedFormControl(transaction.amount, [Validators.required]),
29841
- });
29842
- this.transactionsControl.push(formGroup);
29974
+ addTransactionControl(transaction) {
29975
+ this.transactionsControl.push(new ChildTransactionForm(transaction));
29843
29976
  }
29844
29977
  get transactionsControl() {
29845
29978
  return this.get('transactions');
@@ -29847,24 +29980,12 @@ class TransactionForm extends TransactionBaseForm {
29847
29980
  removeTransactionControl(index) {
29848
29981
  this.transactionsControl.removeAt(index);
29849
29982
  }
29850
- /**
29851
- * income transactions might include adjustments (child transactions), like tips or fees.
29852
- * Adjustments inherit most of the fields from parent transaction
29853
- */
29854
- buildTransactions(transaction) {
29855
- return this.get('transactions').value.map((childTransaction) => Object.assign({
29856
- description: childTransaction.chartAccounts?.name,
29857
- currency: transaction.currency,
29858
- exchangeRate: transaction.exchangeRate,
29859
- date: transaction.date,
29860
- claimPercent: (transaction.claimPercent * childTransaction.chartAccounts?.taxablePercent) / 100,
29861
- source: TransactionSourceEnum.BANK_TRANSACTION,
29862
- incomeSource: transaction.incomeSource,
29863
- property: transaction.property
29864
- }, this.model.transactions.find((transaction) => transaction.id === childTransaction['id']) || {}, childTransaction));
29865
- }
29866
29983
  submit(data = {}) {
29867
- return super.submit(Object.assign(data, { transactions: this.buildTransactions(this.currentValue) }));
29984
+ const transaction = this.currentValue;
29985
+ // income transactions might include adjustments (child transactions), like tips or fees
29986
+ const transactions = this.transactionsControl.controls
29987
+ .map((childForm) => childForm.build(transaction));
29988
+ return super.submit(Object.assign(data, { transactions }));
29868
29989
  }
29869
29990
  }
29870
29991
 
@@ -29886,7 +30007,7 @@ class SoleIncomeForm extends SoleTransactionForm {
29886
30007
  if (allocations.length || transaction.operation === TransactionOperationEnum.ALLOCATE) {
29887
30008
  this.get('amount').disable();
29888
30009
  }
29889
- this.addControl('business', new FormControl(transaction.business ?? plainToClass(SoleBusiness, {}), Validators.required));
30010
+ this.addControl('business', new FormControl(transaction.business ?? null, Validators.required));
29890
30011
  }
29891
30012
  }
29892
30013
 
@@ -29993,7 +30114,7 @@ class SoleExpenseForm extends WorkExpenseForm {
29993
30114
  constructor(transaction, registeredForGst, allocations, homeOfficeClaim) {
29994
30115
  super(transaction, registeredForGst, allocations, homeOfficeClaim);
29995
30116
  this.homeOfficeClaim = homeOfficeClaim;
29996
- this.addControl('business', new FormControl(transaction.business ?? plainToClass(SoleBusiness, {}), Validators.required));
30117
+ this.addControl('business', new FormControl(transaction.business ?? null, Validators.required));
29997
30118
  }
29998
30119
  }
29999
30120
 
@@ -30252,12 +30373,13 @@ class TransactionBaseFilterForm extends FormGroup {
30252
30373
  }
30253
30374
 
30254
30375
  class TransactionImportForm extends FormGroup {
30255
- constructor(transaction) {
30376
+ constructor(transactionImport) {
30256
30377
  super({
30257
- tankType: new FormControl(transaction.matching?.tankType ?? null),
30258
- isIncome: new FormControl(transaction.isIncome())
30378
+ tankType: new FormControl(transactionImport.tankType ?? null),
30379
+ // document may be impossible to parse, then there is no transaction
30380
+ isIncome: new FormControl(transactionImport.transaction?.isIncome() ?? false)
30259
30381
  });
30260
- this.transaction = transaction;
30382
+ this.transactionImport = transactionImport;
30261
30383
  }
30262
30384
  }
30263
30385
 
@@ -30815,5 +30937,5 @@ var MessagesEnum;
30815
30937
  * Generated bundle index. Do not edit.
30816
30938
  */
30817
30939
 
30818
- export { ADBLOCK_ERROR_HTML, ADBLOCK_ERROR_HTML_VALUE, AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockDetectorService, Address, AddressForm, AddressSuggestion, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AppPercentPipe, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AussieAppointment, AussieAppointmentForm, AussieBroker, AussieConfirmationForm, AussieService, AussieStore, AussieStoreForm, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountForm, BankAccountImportForm, BankAccountMessagesEnum, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsFilterForm, BankAccountsImportForm, BankConnection, BankConnectionCollection, BankConnectionForm, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionComment, BankTransactionCommentForm, BankTransactionCommentMessagesEnum, BankTransactionCommentService, BankTransactionImport, BankTransactionImportCollection, BankTransactionImportMessagesEnum, BankTransactionImportService, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BasiqUser, BasiqUserService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetCashFlowItem, BudgetCollection, BudgetForm, BudgetMessagesEnum, BudgetMetadataInterface, BudgetRule, BudgetRuleCollection, BudgetRuleForm, BudgetRuleItem, BudgetRuleItemCollection, BudgetRuleService, BudgetService, BudgetTypeEnum, BusinessChartAccountsEnum, BusinessDepreciationMethod, BusinessDepreciationMethodEnum, BusinessDepreciationMethodForm, BusinessDepreciationMethodService, BusinessResolver, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, COLORS, CalculationFormItem, CalculationFormTypeEnum, CalendarEvent, CalendarEventCollection, CalendarEventTypeEnum, CalendarReminder, CalendarReminderCollection, CalendarReminderForm, CalendarReminderMessagesEnum, CalendarReminderService, CalendarReminderTypeEnum, CalendarViewEnum, CapitalLoss, CapitalLossForm, CapitalLossMessagesEnum, CapitalLossService, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueCollection, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatFilterForm, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementMessagesEnum, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CoreModule, CorelogicMessagesEnum, CorelogicService, Country, CountryService, Currency, CurrencyService, CurrencyTypeEnum, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DailyFrequencyEnum, DashboardSettings, DashboardSettingsForm, DashboardSettingsService, DateAmountDictionary, DateFormatsEnum, DateRange, 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, DocumentFolderCollection, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EXPENSE_CATEGORY_BY_TYPE, EXPORT_CELL_STYLES, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExchangeRate, ExchangeRateService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialGoal, FinancialGoalCollection, FinancialGoalFilterForm, FinancialGoalForm, FinancialGoalMessagesEnum, FinancialGoalService, FinancialGoalStatusEnum, FinancialGoalTypeEnum, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GooglePlaceService, GoogleService, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingCostAdjustment, HoldingCostAdjustmentForm, HoldingCostAdjustmentMessagesEnum, HoldingCostAdjustmentService, HoldingExpenseForm, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTaxStatement, HoldingTaxStatementForm, HoldingTaxStatementItem, HoldingTaxStatementItemForm, HoldingTaxStatementMessagesEnum, HoldingTaxStatementPayer, HoldingTaxStatementPayerForm, HoldingTaxStatementPayerMessagesEnum, HoldingTaxStatementPayerService, HoldingTaxStatementService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportCollection, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeReportItem, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypePosition, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, INCOME_CATEGORY_BY_TYPE, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, InvoiceTransactionsService, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MfaDetails, MfaDetailsForm, MfaDetailsMessagesEnum, MfaDetailsService, MoneyCalendarEvent, MoneyCalendarEventCollection, MoneyScheduleFilterForm, 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, PALETTE_EQUITY, PALETTE_PRIMARY, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, PriorDepreciationService, PriorTransactionService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, 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, REPORTS, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, RelativeDatePipe, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestMessagesEnum, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceEnum, ServicePriceOldEnum, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SharesightDetails, SharesightDetailsMessagesEnum, SharesightDetailsService, SharesightPortfolio, SharesightPortfolioMessages, SharesightPortfolioService, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessCloseForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactItem, SoleContactItemCollection, SoleContactMessagesEnum, SoleContactService, SoleDetails, SoleDetailsForm, SoleDetailsResolver, SoleDetailsService, SoleExpenseForm, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStateEnum, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SoleInvoiceTypeEnum, SolePlItem, SolePlItemCollection, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionCollection, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewFilterForm, TaxReviewFilterStatusEnum, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, TimezoneEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseCollection, TransactionBaseFilter, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionImportForm, TransactionMetaField, TransactionOperationEnum, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionSuggestion, TransactionTypeEnum, TreeNodeData, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserCollection, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, YoutubeVideosEnum, atLeastOneCheckedValidator, atLeastOneEnabledValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, compareWithControlValidator, conditionalValidator, createDate, currentFinYearValidator, dateRangeValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, nameValidator, passwordMatchValidator, passwordValidator, recurringDates, replace, sort, sortDeep, toArray };
30940
+ export { ADBLOCK_ERROR_HTML, ADBLOCK_ERROR_HTML_VALUE, AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockDetectorService, Address, AddressForm, AddressSuggestion, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AppPercentPipe, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AussieAppointment, AussieAppointmentForm, AussieBroker, AussieConfirmationForm, AussieService, AussieStore, AussieStoreForm, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountForm, BankAccountImportForm, BankAccountMessagesEnum, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsFilterForm, BankAccountsImportForm, BankConnection, BankConnectionCollection, BankConnectionForm, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionComment, BankTransactionCommentForm, BankTransactionCommentMessagesEnum, BankTransactionCommentService, BankTransactionImport, BankTransactionImportCollection, BankTransactionImportMessagesEnum, BankTransactionImportService, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BasiqUser, BasiqUserService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetCashFlowItem, BudgetCollection, BudgetForm, BudgetMessagesEnum, BudgetMetadataInterface, BudgetRule, BudgetRuleCollection, BudgetRuleForm, BudgetRuleItem, BudgetRuleItemCollection, BudgetRuleService, BudgetService, BudgetTypeEnum, BusinessChartAccountsEnum, BusinessDepreciationMethod, BusinessDepreciationMethodEnum, BusinessDepreciationMethodForm, BusinessDepreciationMethodService, BusinessResolver, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, COLORS, CalculationFormItem, CalculationFormTypeEnum, CalendarEvent, CalendarEventCollection, CalendarEventTypeEnum, CalendarReminder, CalendarReminderCollection, CalendarReminderForm, CalendarReminderMessagesEnum, CalendarReminderService, CalendarReminderTypeEnum, CalendarViewEnum, CapitalLoss, CapitalLossForm, CapitalLossMessagesEnum, CapitalLossService, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueCollection, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatFilterForm, ChatService, ChatStatusEnum, ChatViewTypeEnum, ChildTransactionForm, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementMessagesEnum, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CoreModule, CorelogicMessagesEnum, CorelogicService, Country, CountryService, Currency, CurrencyService, CurrencyTypeEnum, CurrentFirmBranchService, DAY_MS, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DailyFrequencyEnum, DashboardSettings, DashboardSettingsForm, DashboardSettingsService, DateAmountDictionary, DateFormatsEnum, DateRange, 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, DocumentFolderCollection, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EXPENSE_CATEGORY_BY_TYPE, EXPORT_CELL_STYLES, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExchangeRate, ExchangeRateService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialGoal, FinancialGoalCollection, FinancialGoalFilterForm, FinancialGoalForm, FinancialGoalMessagesEnum, FinancialGoalService, FinancialGoalStatusEnum, FinancialGoalTypeEnum, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GooglePlaceService, GoogleService, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingCostAdjustment, HoldingCostAdjustmentForm, HoldingCostAdjustmentMessagesEnum, HoldingCostAdjustmentService, HoldingExpenseForm, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTaxStatement, HoldingTaxStatementForm, HoldingTaxStatementItem, HoldingTaxStatementItemForm, HoldingTaxStatementMessagesEnum, HoldingTaxStatementPayer, HoldingTaxStatementPayerForm, HoldingTaxStatementPayerMessagesEnum, HoldingTaxStatementPayerService, HoldingTaxStatementService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportCollection, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeReportItem, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypePosition, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, INCOME_CATEGORY_BY_TYPE, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, InvoiceTransactionsService, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MfaDetails, MfaDetailsForm, MfaDetailsMessagesEnum, MfaDetailsService, MoneyCalendarEvent, MoneyCalendarEventCollection, MoneyScheduleFilterForm, 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, PALETTE_EQUITY, PALETTE_PRIMARY, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, PriorDepreciationService, PriorTransactionService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, 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, REPORTS, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, RelativeDatePipe, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestMessagesEnum, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceEnum, ServicePriceOldEnum, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SharesightDetails, SharesightDetailsMessagesEnum, SharesightDetailsService, SharesightPortfolio, SharesightPortfolioMessages, SharesightPortfolioService, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessCloseForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactItem, SoleContactItemCollection, SoleContactMessagesEnum, SoleContactService, SoleDetails, SoleDetailsForm, SoleDetailsResolver, SoleDetailsService, SoleExpenseForm, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStateEnum, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SoleInvoiceTypeEnum, SolePlItem, SolePlItemCollection, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionCollection, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewFilterForm, TaxReviewFilterStatusEnum, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, TimezoneEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseCollection, TransactionBaseFilter, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionImport, TransactionImportForm, TransactionImportMatch, TransactionImportService, TransactionMetaField, TransactionOperationEnum, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TreeNodeData, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserCollection, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, YoutubeVideosEnum, atLeastOneCheckedValidator, atLeastOneEnabledValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, compareWithControlValidator, conditionalValidator, createDate, currentFinYearValidator, dateRangeValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, nameValidator, passwordMatchValidator, passwordValidator, recurringDates, replace, sort, sortDeep, toArray };
30819
30941
  //# sourceMappingURL=taxtank-core.mjs.map