UNPKG

@accounter/server

Version:
1,020 lines (948 loc) 534 kB
import { ChargeSortByField } from '../shared/enums.js'; import { Currency } from '../shared/enums.js'; import { DocumentType } from '../shared/enums.js'; import { MissingChargeInfo } from '../shared/enums.js'; import { TransactionDirection } from '../shared/enums.js'; import { CountryCode as CountryCodeEnum } from '../shared/enums.js'; import { TimelessDateString } from '../shared/types'; import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql'; import { IGetAllAdminBusinessesResult, IGetBusinessesByIdsResult, IGetAllClientsResult, IGetFinancialEntitiesByIdsResult, IGetAllTaxCategoriesResult } from '../modules/financial-entities/types.js'; import { AdminContext } from '../modules/admin-context/types.js'; import { IGetNormalizedBalanceTransactionsResult, IGetTemplateResult, ProfitAndLossReportYearProto, CommentaryRecordProto, CommentarySubRecordProto, Shaam6111ReportProto, TaxReportYearProto } from '../modules/reports/types.js'; import { IGetAllBankDepositsResult, BankDepositMetadataProto } from '../modules/bank-deposits/types.js'; import { IGetChargesByIdsResult } from '../modules/charges/types.js'; import { IGetFinancialAccountsByOwnerIdsResult } from '../modules/financial-accounts/types.js'; import { BusinessTransactionProto, RawBusinessTransactionsSum, CorporateTaxRulingComplianceReportProto, DocumentSuggestionsProto, LedgerBalanceUnbalancedEntityProto, LedgerRecordsProto } from '../shared/types'; import { BusinessTripProto, IGetBusinessTripsAccommodationsExpensesByIdsResult, IGetBusinessTripsAttendeesByBusinessTripIdsResult, IGetBusinessTripsFlightsExpensesByIdsResult, IGetBusinessTripsOtherExpensesByIdsResult, IGetBusinessTripsTravelAndSubsistenceExpensesByIdsResult, IGetBusinessTripsCarRentalExpensesByIdsResult } from '../modules/business-trips/types.js'; import { ChargeMatchProto } from '../modules/charges-matcher/types.js'; import { IGetCorporateTaxesByCorporateIdsResult } from '../modules/corporate-taxes/types.js'; import { IGetAllOpenContractsResult } from '../modules/contracts/types.js'; import { IGetAllDocumentsResult, IssuedDocumentInfoProto } from '../modules/documents/types.js'; import { IGetAllDepreciationCategoriesResult, IGetDepreciationRecordsByIdsResult } from '../modules/depreciation/types.js'; import { MonthDataProto } from '../modules/charts/types.js'; import { IGetLedgerRecordsByChargesIdsResult } from '../modules/ledger/types.js'; import { IGetExpensesByChargeIdsResult } from '../modules/misc-expenses/types.js'; import { IGetAllSalaryRecordsResult } from '../modules/salaries/types.js'; import { IGetSortCodesByIdsResult } from '../modules/sort-codes/types.js'; import { IGetAllTagsResult } from '../modules/tags/types.js'; import { RawVatReportRecord } from '../modules/reports/helpers/vat-report.helper.js'; export type Maybe<T> = T | null; export type InputMaybe<T> = Maybe<T>; export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] }; export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> }; export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> }; export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never }; export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; export type RequireFields<T, K extends keyof T> = Omit<T, K> & { [P in K]-?: NonNullable<T[P]> }; export type EnumResolverSignature<T, AllowedValues = any> = { [key in keyof T]?: AllowedValues }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string; } String: { input: string; output: string; } Boolean: { input: boolean; output: boolean; } Int: { input: number; output: number; } Float: { input: number; output: number; } /** BigInt */ BigInt: { input: bigint; output: bigint; } /** Country Code */ CountryCode: { input: string; output: CountryCodeEnum; } /** Date */ DateTime: { input: Date; output: Date; } /** mock */ DividendMock: { input: any; output: any; } /** File */ FileScalar: { input: File | Blob; output: string; } /** Rate */ Rate: { input: any; output: any; } /** Date with no time of day */ TimelessDate: { input: TimelessDateString; output: TimelessDateString; } /** URL */ URL: { input: URL | string; output: URL | string; } /** UUID */ UUID: { input: string; output: string; } /** mock */ VatMock: { input: any; output: any; } }; /** Result payload returned after accepting an invitation */ export type AcceptInvitationPayload = { readonly __typename?: 'AcceptInvitationPayload'; readonly businessId: Scalars['ID']['output']; readonly roleId: Scalars['String']['output']; readonly success: Scalars['Boolean']['output']; }; /** represents accountant approval status for a charge */ export type AccountantApprovalStatus = { readonly __typename?: 'AccountantApprovalStatus'; readonly approvedCount: Scalars['Int']['output']; readonly pendingCount: Scalars['Int']['output']; readonly totalCharges: Scalars['Int']['output']; readonly unapprovedCount: Scalars['Int']['output']; }; /** represents accountant approval status */ export type AccountantStatus = | 'APPROVED' | 'PENDING' | 'UNAPPROVED'; /** Accounting method enum (שיטת חשבונאות) */ export type AccountingMethod = /** Double-entry (כפולה) */ | 'DOUBLE_ENTRY' /** Single-entry (חד צידית) */ | 'SINGLE_ENTRY'; /** Business accounting system enum (הנח''ש של העסק) */ export type AccountingSystem = /** Computerized (ממוחשב) */ | 'COMPUTERIZED' /** Manual (ידני) */ | 'MANUAL'; /** the input for adding a new business trip accommodation expense */ export type AddBusinessTripAccommodationsExpenseInput = { readonly amount?: InputMaybe<Scalars['Float']['input']>; readonly attendeesStay?: InputMaybe<ReadonlyArray<BusinessTripAttendeeStayInput>>; readonly businessTripId: Scalars['UUID']['input']; readonly country?: InputMaybe<Scalars['CountryCode']['input']>; readonly currency?: InputMaybe<Currency>; readonly date?: InputMaybe<Scalars['TimelessDate']['input']>; readonly employeeBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly nightsCount?: InputMaybe<Scalars['Int']['input']>; readonly valueDate?: InputMaybe<Scalars['TimelessDate']['input']>; }; /** the input for adding a new business trip T&S expense */ export type AddBusinessTripCarRentalExpenseInput = { readonly amount?: InputMaybe<Scalars['Float']['input']>; readonly businessTripId: Scalars['UUID']['input']; readonly currency?: InputMaybe<Currency>; readonly date?: InputMaybe<Scalars['TimelessDate']['input']>; readonly days?: InputMaybe<Scalars['Int']['input']>; readonly employeeBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly isFuelExpense?: InputMaybe<Scalars['Boolean']['input']>; readonly valueDate?: InputMaybe<Scalars['TimelessDate']['input']>; }; /** the input for adding a new business trip flights expense */ export type AddBusinessTripFlightsExpenseInput = { readonly amount?: InputMaybe<Scalars['Float']['input']>; readonly attendeeIds?: InputMaybe<ReadonlyArray<Scalars['UUID']['input']>>; readonly businessTripId: Scalars['UUID']['input']; readonly currency?: InputMaybe<Currency>; readonly date?: InputMaybe<Scalars['TimelessDate']['input']>; readonly employeeBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly flightClass?: InputMaybe<FlightClass>; readonly path?: InputMaybe<ReadonlyArray<Scalars['String']['input']>>; readonly valueDate?: InputMaybe<Scalars['TimelessDate']['input']>; }; /** the input for adding a new business trip other expense */ export type AddBusinessTripOtherExpenseInput = { readonly amount?: InputMaybe<Scalars['Float']['input']>; readonly businessTripId: Scalars['UUID']['input']; readonly currency?: InputMaybe<Currency>; readonly date?: InputMaybe<Scalars['TimelessDate']['input']>; readonly deductibleExpense?: InputMaybe<Scalars['Boolean']['input']>; readonly description?: InputMaybe<Scalars['String']['input']>; readonly employeeBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly valueDate?: InputMaybe<Scalars['TimelessDate']['input']>; }; /** the input for adding a new business trip T&S expense */ export type AddBusinessTripTravelAndSubsistenceExpenseInput = { readonly amount?: InputMaybe<Scalars['Float']['input']>; readonly businessTripId: Scalars['UUID']['input']; readonly currency?: InputMaybe<Currency>; readonly date?: InputMaybe<Scalars['TimelessDate']['input']>; readonly employeeBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly expenseType?: InputMaybe<Scalars['String']['input']>; readonly valueDate?: InputMaybe<Scalars['TimelessDate']['input']>; }; /** Represents a business entity managed by an accountant in the system. */ export type AdminBusiness = { readonly __typename?: 'AdminBusiness'; readonly business: LtdFinancialEntity; readonly governmentId: Scalars['String']['output']; readonly id: Scalars['UUID']['output']; readonly name: Scalars['String']['output']; readonly registrationDate: Scalars['TimelessDate']['output']; /** Social Security Info */ readonly socialSecurityDeductionsId?: Maybe<Scalars['String']['output']>; readonly socialSecurityEmployerIds: ReadonlyArray<AnnualId>; /** Tax Advances Info */ readonly taxAdvancesAnnualIds: ReadonlyArray<AnnualId>; readonly taxAdvancesRates: ReadonlyArray<TaxAdvancesRate>; readonly withholdingTaxAnnualIds: ReadonlyArray<AnnualId>; /** Withholding Tax Info */ readonly withholdingTaxCompanyId?: Maybe<Scalars['String']['output']>; }; /** defines a tag / category for charge arrangement */ export type AdminContextInfo = { readonly __typename?: 'AdminContextInfo'; readonly accumulatedDepreciationTaxCategory?: Maybe<TaxCategory>; readonly amexBusiness?: Maybe<Business>; readonly balanceCancellationTaxCategory: TaxCategory; readonly bankDepositBusiness?: Maybe<Business>; readonly bankDepositInterestIncomeTaxCategory?: Maybe<TaxCategory>; readonly batchedEmployeesBusiness?: Maybe<Business>; readonly batchedFundsBusiness?: Maybe<Business>; readonly businessTripTag?: Maybe<Tag>; readonly businessTripTaxCategory?: Maybe<TaxCategory>; readonly calBusiness?: Maybe<Business>; readonly compensationFundExpensesTaxCategory?: Maybe<TaxCategory>; readonly dateEstablished?: Maybe<Scalars['TimelessDate']['output']>; readonly defaultForeignCurrency: Currency; readonly defaultLocalCurrency: Currency; readonly defaultTaxCategory: TaxCategory; readonly developmentForeignTaxCategory: TaxCategory; readonly developmentLocalTaxCategory: TaxCategory; readonly discountBusiness?: Maybe<Business>; readonly dividendTaxCategory?: Maybe<TaxCategory>; readonly dividendWithholdingTaxBusiness?: Maybe<Business>; readonly etanaBusiness?: Maybe<Business>; readonly etherscanBusiness?: Maybe<Business>; readonly exchangeRateRevaluationTaxCategory: TaxCategory; readonly exchangeRateTaxCategory: TaxCategory; readonly expensesInAdvanceTaxCategory: TaxCategory; readonly expensesToPayTaxCategory: TaxCategory; readonly feeTaxCategory: TaxCategory; readonly fineTaxCategory: TaxCategory; readonly foreignSecuritiesBusiness?: Maybe<Business>; readonly foreignSecuritiesFeesCategory?: Maybe<TaxCategory>; readonly generalFeeTaxCategory: TaxCategory; readonly gnmDepreciationExpensesTaxCategory?: Maybe<TaxCategory>; readonly id: Scalars['ID']['output']; readonly incomeExchangeRateTaxCategory: TaxCategory; readonly incomeInAdvanceTaxCategory?: Maybe<TaxCategory>; readonly incomeToCollectTaxCategory: TaxCategory; readonly initialAccounterYear?: Maybe<Scalars['Int']['output']>; readonly inputVatTaxCategory: TaxCategory; readonly isracardBusiness?: Maybe<Business>; readonly krakenBusiness?: Maybe<Business>; readonly ledgerLock?: Maybe<Scalars['TimelessDate']['output']>; readonly locality: Scalars['String']['output']; readonly marketingDepreciationExpensesTaxCategory?: Maybe<TaxCategory>; readonly outputVatTaxCategory: TaxCategory; readonly ownerId: Scalars['UUID']['output']; readonly pensionFundExpensesTaxCategory?: Maybe<TaxCategory>; readonly poalimBusiness?: Maybe<Business>; readonly propertyOutputVatTaxCategory?: Maybe<TaxCategory>; readonly recoveryReserveExpensesTaxCategory?: Maybe<TaxCategory>; readonly recoveryReserveTaxCategory?: Maybe<TaxCategory>; readonly rndDepreciationExpensesTaxCategory?: Maybe<TaxCategory>; readonly salaryExcessExpensesTaxCategory: TaxCategory; readonly salaryExpensesTaxCategory?: Maybe<TaxCategory>; readonly socialSecurityBusiness: Business; readonly socialSecurityExpensesTaxCategory?: Maybe<TaxCategory>; readonly swiftBusiness?: Maybe<Business>; readonly taxBusiness: Business; readonly taxDeductionsBusiness?: Maybe<Business>; readonly taxExpensesTaxCategory: TaxCategory; readonly trainingFundExpensesTaxCategory?: Maybe<TaxCategory>; readonly untaxableGiftsTaxCategory: TaxCategory; readonly vacationReserveExpensesTaxCategory?: Maybe<TaxCategory>; readonly vacationReserveTaxCategory?: Maybe<TaxCategory>; readonly vatBusiness: Business; readonly zkufotExpensesTaxCategory?: Maybe<TaxCategory>; readonly zkufotIncomeTaxCategory?: Maybe<TaxCategory>; }; /** input variables for updateAdminContext */ export type AdminContextInput = { readonly accumulatedDepreciationTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly amexBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly balanceCancellationTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly bankDepositBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly bankDepositInterestIncomeTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly batchedEmployeesBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly batchedFundsBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly businessTripTagId?: InputMaybe<Scalars['UUID']['input']>; readonly businessTripTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly calBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly compensationFundExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly dateEstablished?: InputMaybe<Scalars['TimelessDate']['input']>; readonly defaultForeignCurrency?: InputMaybe<Currency>; readonly defaultLocalCurrency?: InputMaybe<Currency>; readonly defaultTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly developmentForeignTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly developmentLocalTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly discountBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly dividendTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly dividendWithholdingTaxBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly etanaBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly etherscanBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly exchangeRateRevaluationTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly exchangeRateTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly expensesInAdvanceTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly expensesToPayTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly feeTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly fineTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly foreignSecuritiesBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly foreignSecuritiesFeesCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly generalFeeTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly gnmDepreciationExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly incomeExchangeRateTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly incomeInAdvanceTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly incomeToCollectTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly initialAccounterYear?: InputMaybe<Scalars['Int']['input']>; readonly inputVatTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly isracardBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly krakenBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly ledgerLock?: InputMaybe<Scalars['TimelessDate']['input']>; readonly locality?: InputMaybe<Scalars['String']['input']>; readonly marketingDepreciationExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly outputVatTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly ownerId: Scalars['UUID']['input']; readonly pensionFundExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly poalimBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly propertyOutputVatTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly recoveryReserveExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly recoveryReserveTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly rndDepreciationExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly salaryExcessExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly salaryExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly socialSecurityBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly socialSecurityExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly swiftBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly taxBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly taxDeductionsBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly taxExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly trainingFundExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly untaxableGiftsTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly vacationReserveExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly vacationReserveTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly vatBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly zkufotExpensesTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; readonly zkufotIncomeTaxCategoryId?: InputMaybe<Scalars['UUID']['input']>; }; /** Input for an American Express credit card transaction */ export type AmexTransactionInput = { readonly adendum?: InputMaybe<Scalars['String']['input']>; readonly card: Scalars['String']['input']; readonly cardIndex: Scalars['Int']['input']; readonly chargingDate?: InputMaybe<Scalars['String']['input']>; readonly city?: InputMaybe<Scalars['String']['input']>; readonly clientIpAddress?: InputMaybe<Scalars['String']['input']>; readonly currencyId?: InputMaybe<Scalars['String']['input']>; readonly currentPaymentCurrency?: InputMaybe<Scalars['String']['input']>; readonly dealSum?: InputMaybe<Scalars['String']['input']>; readonly dealSumOutbound?: InputMaybe<Scalars['String']['input']>; readonly dealSumType?: InputMaybe<Scalars['String']['input']>; readonly dealsInbound?: InputMaybe<Scalars['String']['input']>; readonly displayProperties?: InputMaybe<Scalars['String']['input']>; readonly esbServicesCall?: InputMaybe<Scalars['String']['input']>; readonly fullPaymentDate?: InputMaybe<Scalars['String']['input']>; readonly fullPurchaseDate?: InputMaybe<Scalars['String']['input']>; readonly fullPurchaseDateOutbound?: InputMaybe<Scalars['String']['input']>; readonly fullSupplierNameHeb?: InputMaybe<Scalars['String']['input']>; readonly fullSupplierNameOutbound?: InputMaybe<Scalars['String']['input']>; readonly horaatKeva?: InputMaybe<Scalars['String']['input']>; readonly isButton: Scalars['String']['input']; readonly isCaptcha: Scalars['String']['input']; readonly isError: Scalars['String']['input']; readonly isHoraatKeva: Scalars['String']['input']; readonly isShowDealsOutbound?: InputMaybe<Scalars['String']['input']>; readonly isShowLinkForSupplierDetails?: InputMaybe<Scalars['String']['input']>; readonly kodMatbeaMekori?: InputMaybe<Scalars['String']['input']>; readonly message?: InputMaybe<Scalars['String']['input']>; readonly moreInfo?: InputMaybe<Scalars['String']['input']>; readonly paymentDate?: InputMaybe<Scalars['String']['input']>; readonly paymentSum?: InputMaybe<Scalars['String']['input']>; readonly paymentSumOutbound?: InputMaybe<Scalars['String']['input']>; readonly paymentSumSign?: InputMaybe<Scalars['String']['input']>; readonly purchaseDate?: InputMaybe<Scalars['String']['input']>; readonly purchaseDateOutbound?: InputMaybe<Scalars['String']['input']>; readonly returnCode?: InputMaybe<Scalars['String']['input']>; readonly returnMessage?: InputMaybe<Scalars['String']['input']>; readonly siteName?: InputMaybe<Scalars['String']['input']>; readonly solek?: InputMaybe<Scalars['String']['input']>; readonly specificDate?: InputMaybe<Scalars['String']['input']>; readonly stage?: InputMaybe<Scalars['String']['input']>; readonly supplierId?: InputMaybe<Scalars['Int']['input']>; readonly supplierName?: InputMaybe<Scalars['String']['input']>; readonly supplierNameOutbound?: InputMaybe<Scalars['String']['input']>; readonly tablePageNum: Scalars['Boolean']['input']; readonly voucherNumber?: InputMaybe<Scalars['Int']['input']>; readonly voucherNumberRatz?: InputMaybe<Scalars['Int']['input']>; readonly voucherNumberRatzOutbound?: InputMaybe<Scalars['Int']['input']>; }; /** Result type for annualAuditOpeningBalanceStatus query */ export type AnnualAuditOpeningBalanceStatusInfo = { readonly __typename?: 'AnnualAuditOpeningBalanceStatusInfo'; /** Only relevant for MIGRATING users */ readonly balanceChargeId?: Maybe<Scalars['UUID']['output']>; readonly derivedStatus: AnnualAuditStepStatus; readonly errorMessage?: Maybe<Scalars['String']['output']>; readonly id: Scalars['ID']['output']; readonly userType: AnnualAuditOpeningBalanceUserType; }; /** User type classification for annual audit opening balance step */ export type AnnualAuditOpeningBalanceUserType = | 'CONTINUING' | 'ERROR' | 'MIGRATING' | 'NEW'; /** Status values for annual audit steps */ export type AnnualAuditStepStatus = | 'BLOCKED' | 'COMPLETED' | 'IN_PROGRESS' | 'PENDING'; /** Persisted manual status for a single annual audit step */ export type AnnualAuditStepStatusInfo = { readonly __typename?: 'AnnualAuditStepStatusInfo'; readonly completedAt?: Maybe<Scalars['DateTime']['output']>; /** JSON-encoded evidence metadata (step-specific structure) */ readonly evidence?: Maybe<Scalars['String']['output']>; readonly id: Scalars['ID']['output']; readonly notes?: Maybe<Scalars['String']['output']>; readonly ownerId: Scalars['UUID']['output']; readonly status: AnnualAuditStepStatus; readonly stepId: Scalars['String']['output']; readonly updatedAt: Scalars['DateTime']['output']; readonly year: Scalars['Int']['output']; }; /** Represents an annual identifier for tax purposes. */ export type AnnualId = { readonly __typename?: 'AnnualId'; readonly id: Scalars['String']['output']; readonly year: Scalars['Int']['output']; }; /** Input type representing an annual identifier for tax purposes. */ export type AnnualIdInput = { readonly id: Scalars['String']['input']; readonly year: Scalars['Int']['input']; }; /** annual revenue report */ export type AnnualRevenueReport = { readonly __typename?: 'AnnualRevenueReport'; readonly countries: ReadonlyArray<AnnualRevenueReportCountry>; readonly id: Scalars['ID']['output']; readonly year: Scalars['Int']['output']; }; /** annual revenue report country client record */ export type AnnualRevenueReportClientRecord = { readonly __typename?: 'AnnualRevenueReportClientRecord'; readonly chargeId: Scalars['UUID']['output']; readonly date: Scalars['TimelessDate']['output']; readonly description?: Maybe<Scalars['String']['output']>; readonly id: Scalars['ID']['output']; readonly reference?: Maybe<Scalars['String']['output']>; readonly revenueDefaultForeign: FinancialAmount; readonly revenueLocal: FinancialAmount; readonly revenueOriginal: FinancialAmount; }; /** annual revenue report country */ export type AnnualRevenueReportCountry = { readonly __typename?: 'AnnualRevenueReportCountry'; readonly clients: ReadonlyArray<AnnualRevenueReportCountryClient>; readonly code: Scalars['String']['output']; readonly id: Scalars['ID']['output']; readonly name: Scalars['String']['output']; readonly revenueDefaultForeign: FinancialAmount; readonly revenueLocal: FinancialAmount; }; /** annual revenue report country client */ export type AnnualRevenueReportCountryClient = { readonly __typename?: 'AnnualRevenueReportCountryClient'; readonly id: Scalars['ID']['output']; readonly name: Scalars['String']['output']; readonly records: ReadonlyArray<AnnualRevenueReportClientRecord>; readonly revenueDefaultForeign: FinancialAmount; readonly revenueLocal: FinancialAmount; }; /** annual revenue report filter */ export type AnnualRevenueReportFilter = { readonly adminBusinessId?: InputMaybe<Scalars['UUID']['input']>; readonly year: Scalars['Int']['input']; }; /** API key metadata (plaintext key is never stored) */ export type ApiKey = { readonly __typename?: 'ApiKey'; readonly createdAt: Scalars['DateTime']['output']; readonly id: Scalars['ID']['output']; readonly lastUsedAt?: Maybe<Scalars['DateTime']['output']>; readonly name: Scalars['String']['output']; readonly roleId: Scalars['String']['output']; }; /** Audit opinion type enum (חוות דעת) */ export type AuditOpinionType = /** Adverse opinion (שלילית) */ | 'ADVERSE' /** Disclaimer of opinion (המנעות) */ | 'DISCLAIMER' /** No audit opinion (אין חוות דעת) */ | 'NONE' /** Qualified opinion (הסתייגות) */ | 'QUALIFIED' /** Unqualified opinion (נוסח אחיד (בלתי מסוייג)) */ | 'UNQUALIFIED' /** Unqualified opinion with emphasis on going concern (בנוסח אחיד עם הפניית תשומת לב להערת עסק חי) */ | 'UNQUALIFIED_WITH_GOING_CONCERN' /** Unqualified opinion with other emphases (בנוסח אחיד עם הפניות תשומת לב אחרת) */ | 'UNQUALIFIED_WITH_OTHER_EMPHASES'; /** Result of the auto-match operation */ export type AutoMatchChargesResult = { readonly __typename?: 'AutoMatchChargesResult'; /** Array of error messages encountered during the operation */ readonly errors: ReadonlyArray<Scalars['String']['output']>; /** Array of charges that were merged, with their confidence scores */ readonly mergedCharges: ReadonlyArray<MergedCharge>; /** Array of charge UUIDs that had multiple high-confidence matches and were skipped */ readonly skippedCharges: ReadonlyArray<Scalars['UUID']['output']>; /** Total number of charges that were successfully matched and merged */ readonly totalMatches: Scalars['Int']['output']; }; /** transactions for balance report */ export type BalanceTransactions = { readonly __typename?: 'BalanceTransactions'; readonly account: FinancialAccount; readonly amount: FinancialAmount; readonly amountUsd: FinancialAmount; readonly charge: Charge; readonly chargeId: Scalars['UUID']['output']; readonly counterparty?: Maybe<FinancialEntity>; readonly date: Scalars['TimelessDate']['output']; readonly description?: Maybe<Scalars['String']['output']>; readonly id: Scalars['UUID']['output']; readonly isFee: Scalars['Boolean']['output']; readonly month: Scalars['Int']['output']; readonly year: Scalars['Int']['output']; }; /** input type for creating a bank account */ export type BankAccountInsertInput = { readonly accountAgreementOpeningDate?: InputMaybe<Scalars['Int']['input']>; readonly accountClosingReasonCode?: InputMaybe<Scalars['Int']['input']>; readonly accountDealDate?: InputMaybe<Scalars['Int']['input']>; readonly accountUpdateDate?: InputMaybe<Scalars['Int']['input']>; readonly bankNumber: Scalars['Int']['input']; readonly branchNumber: Scalars['Int']['input']; readonly branchTypeCode?: InputMaybe<Scalars['Int']['input']>; readonly extendedBankNumber?: InputMaybe<Scalars['Int']['input']>; readonly iban?: InputMaybe<Scalars['String']['input']>; readonly kodHarshaatPeilut?: InputMaybe<Scalars['Int']['input']>; readonly metegDoarNet?: InputMaybe<Scalars['Int']['input']>; readonly mymailEntitlementSwitch?: InputMaybe<Scalars['Int']['input']>; readonly partyAccountInvolvementCode?: InputMaybe<Scalars['Int']['input']>; readonly partyPreferredIndication?: InputMaybe<Scalars['Int']['input']>; readonly productLabel?: InputMaybe<Scalars['String']['input']>; readonly serviceAuthorizationDesc?: InputMaybe<Scalars['String']['input']>; readonly swiftCode?: InputMaybe<Scalars['String']['input']>; }; /** input type for updating a bank account */ export type BankAccountUpdateInput = { readonly accountAgreementOpeningDate?: InputMaybe<Scalars['Int']['input']>; readonly accountClosingReasonCode?: InputMaybe<Scalars['Int']['input']>; readonly accountDealDate?: InputMaybe<Scalars['Int']['input']>; readonly accountUpdateDate?: InputMaybe<Scalars['Int']['input']>; readonly bankNumber?: InputMaybe<Scalars['Int']['input']>; readonly branchNumber?: InputMaybe<Scalars['Int']['input']>; readonly branchTypeCode?: InputMaybe<Scalars['Int']['input']>; readonly extendedBankNumber?: InputMaybe<Scalars['Int']['input']>; readonly iban?: InputMaybe<Scalars['String']['input']>; readonly kodHarshaatPeilut?: InputMaybe<Scalars['Int']['input']>; readonly metegDoarNet?: InputMaybe<Scalars['Int']['input']>; readonly mymailEntitlementSwitch?: InputMaybe<Scalars['Int']['input']>; readonly partyAccountInvolvementCode?: InputMaybe<Scalars['Int']['input']>; readonly partyPreferredIndication?: InputMaybe<Scalars['Int']['input']>; readonly productLabel?: InputMaybe<Scalars['String']['input']>; readonly serviceAuthorizationDesc?: InputMaybe<Scalars['String']['input']>; readonly swiftCode?: InputMaybe<Scalars['String']['input']>; }; /** Bank Deposit */ export type BankDeposit = { readonly __typename?: 'BankDeposit'; readonly account?: Maybe<FinancialAccount>; readonly closeDate?: Maybe<Scalars['TimelessDate']['output']>; readonly currency?: Maybe<Currency>; readonly id: Scalars['ID']['output']; readonly isOpen: Scalars['Boolean']['output']; readonly metadata: BankDepositMetadata; readonly name: Scalars['String']['output']; readonly openDate?: Maybe<Scalars['TimelessDate']['output']>; }; /** charge of bank deposits */ export type BankDepositCharge = Charge & { readonly __typename?: 'BankDepositCharge'; readonly accountantApproval: AccountantStatus; readonly additionalDocuments: ReadonlyArray<Document>; readonly counterparty?: Maybe<FinancialEntity>; readonly decreasedVAT?: Maybe<Scalars['Boolean']['output']>; readonly id: Scalars['UUID']['output']; readonly isInvoicePaymentDifferentCurrency?: Maybe<Scalars['Boolean']['output']>; readonly ledger: Ledger; readonly metadata?: Maybe<ChargeMetadata>; readonly minDebitDate?: Maybe<Scalars['DateTime']['output']>; readonly minDocumentsDate?: Maybe<Scalars['DateTime']['output']>; readonly minEventDate?: Maybe<Scalars['DateTime']['output']>; readonly miscExpenses: ReadonlyArray<MiscExpense>; readonly missingInfoSuggestions?: Maybe<ChargeSuggestions>; readonly optionalDocuments?: Maybe<Scalars['Boolean']['output']>; readonly optionalVAT?: Maybe<Scalars['Boolean']['output']>; readonly owner: Business; readonly property?: Maybe<Scalars['Boolean']['output']>; readonly tags: ReadonlyArray<Tag>; readonly taxCategory?: Maybe<TaxCategory>; readonly totalAmount?: Maybe<FinancialAmount>; readonly transactions: ReadonlyArray<Transaction>; readonly userDescription?: Maybe<Scalars['String']['output']>; readonly validationData?: Maybe<ValidationData>; readonly vat?: Maybe<FinancialAmount>; readonly withholdingTax?: Maybe<FinancialAmount>; readonly yearsOfRelevance?: Maybe<ReadonlyArray<YearOfRelevance>>; }; /** represent a bank deposit account */ export type BankDepositFinancialAccount = FinancialAccount & { readonly __typename?: 'BankDepositFinancialAccount'; readonly accountTaxCategories: ReadonlyArray<CurrencyTaxCategory>; readonly charges: ReadonlyArray<Charge>; readonly id: Scalars['UUID']['output']; readonly name: Scalars['String']['output']; readonly number: Scalars['String']['output']; readonly privateOrBusiness: PrivateOrBusinessType; readonly type: FinancialAccountType; }; /** represent a bank deposit account */ export type BankDepositFinancialAccountChargesArgs = { filter?: InputMaybe<ChargeFilter>; }; /** Metadata for Bank Deposit, including current balance, total interest, total deposit amount, and associated transactions. */ export type BankDepositMetadata = { readonly __typename?: 'BankDepositMetadata'; readonly currentBalance: FinancialAmount; readonly id: Scalars['ID']['output']; readonly potentialCloseDate?: Maybe<Scalars['TimelessDate']['output']>; readonly totalDeposit: FinancialAmount; readonly totalInterest: FinancialAmount; readonly transactions: ReadonlyArray<Transaction>; }; /** represent a single bank account */ export type BankFinancialAccount = FinancialAccount & { readonly __typename?: 'BankFinancialAccount'; readonly accountAgreementOpeningDate?: Maybe<Scalars['Int']['output']>; readonly accountClosingReasonCode?: Maybe<Scalars['Int']['output']>; readonly accountDealDate?: Maybe<Scalars['Int']['output']>; /** the external identifier of the bank account */ readonly accountNumber: Scalars['String']['output']; readonly accountTaxCategories: ReadonlyArray<CurrencyTaxCategory>; readonly accountUpdateDate?: Maybe<Scalars['Int']['output']>; readonly bankNumber: Scalars['Int']['output']; readonly branchNumber: Scalars['Int']['output']; readonly branchTypeCode?: Maybe<Scalars['Int']['output']>; readonly charges: ReadonlyArray<Charge>; readonly extendedBankNumber?: Maybe<Scalars['Int']['output']>; readonly iban?: Maybe<Scalars['String']['output']>; readonly id: Scalars['UUID']['output']; readonly kodHarshaatPeilut?: Maybe<Scalars['Int']['output']>; readonly metegDoarNet?: Maybe<Scalars['Int']['output']>; readonly mymailEntitlementSwitch?: Maybe<Scalars['Int']['output']>; readonly name: Scalars['String']['output']; readonly number: Scalars['String']['output']; readonly partyAccountInvolvementCode?: Maybe<Scalars['Int']['output']>; readonly partyPreferredIndication?: Maybe<Scalars['Int']['output']>; readonly privateOrBusiness: PrivateOrBusinessType; readonly productLabel?: Maybe<Scalars['String']['output']>; readonly serviceAuthorizationDesc?: Maybe<Scalars['String']['output']>; readonly swiftCode?: Maybe<Scalars['String']['output']>; readonly type: FinancialAccountType; }; /** represent a single bank account */ export type BankFinancialAccountChargesArgs = { filter?: InputMaybe<ChargeFilter>; }; /** result type for batchUpdateCharges */ export type BatchUpdateChargesResult = BatchUpdateChargesSuccessfulResult | CommonError; /** successful result type for batchUpdateCharges */ export type BatchUpdateChargesSuccessfulResult = { readonly __typename?: 'BatchUpdateChargesSuccessfulResult'; readonly charges: ReadonlyArray<Charge>; }; /** contract billing cycle */ export type BillingCycle = | 'ANNUAL' | 'MONTHLY'; /** input required to bootstrap a new client business and its initial owner */ export type BootstrapClientInput = { readonly businessName: Scalars['String']['input']; readonly countryCode: Scalars['String']['input']; readonly dateEstablished?: InputMaybe<Scalars['TimelessDate']['input']>; readonly initialAccounterYear?: InputMaybe<Scalars['Int']['input']>; readonly locality?: InputMaybe<Scalars['String']['input']>; readonly ownerEmail: Scalars['String']['input']; readonly ownerRole: Scalars['String']['input']; }; /** Result returned after bootstrapping, including business, invitation token, and admin context. */ export type BootstrapClientResult = { readonly __typename?: 'BootstrapClientResult'; readonly adminContext: AdminContextInfo; readonly business: Business; readonly id: Scalars['ID']['output']; readonly invitationToken: Scalars['String']['output']; }; /** represent a financial entity of any type that may hold financial accounts (company, business, individual) */ export type Business = { readonly accounts: ReadonlyArray<FinancialAccount>; readonly charges: PaginatedCharges; readonly createdAt: Scalars['DateTime']['output']; readonly id: Scalars['UUID']['output']; readonly irsCode?: Maybe<Scalars['Int']['output']>; readonly isActive: Scalars['Boolean']['output']; readonly name: Scalars['String']['output']; readonly pcn874RecordType?: Maybe<Pcn874RecordType>; readonly sortCode?: Maybe<SortCode>; readonly updatedAt: Scalars['DateTime']['output']; }; /** represent a financial entity of any type that may hold financial accounts (company, business, individual) */ export type BusinessChargesArgs = { filter?: InputMaybe<ChargeFilter>; limit?: InputMaybe<Scalars['Int']['input']>; page?: InputMaybe<Scalars['Int']['input']>; }; /** configuration for business email processing */ export type BusinessEmailConfig = { readonly __typename?: 'BusinessEmailConfig'; readonly attachments?: Maybe<ReadonlyArray<EmailAttachmentType>>; readonly businessId: Scalars['UUID']['output']; readonly emailBody?: Maybe<Scalars['Boolean']['output']>; readonly internalEmailLinks?: Maybe<ReadonlyArray<Scalars['String']['output']>>; }; /** single business transaction info */ export type BusinessTransaction = { readonly __typename?: 'BusinessTransaction'; readonly amount: FinancialAmount; readonly business: FinancialEntity; readonly chargeId: Scalars['UUID']['output']; readonly counterAccount?: Maybe<FinancialEntity>; readonly details?: Maybe<Scalars['String']['output']>; readonly foreignAmount?: Maybe<FinancialAmount>; readonly invoiceDate: Scalars['TimelessDate']['output']; readonly reference?: Maybe<Scalars['String']['output']>; }; /** single business transaction summery */ export type BusinessTransactionSum = { readonly __typename?: 'BusinessTransactionSum'; readonly business: FinancialEntity; readonly credit: FinancialAmount; readonly debit: FinancialAmount; readonly foreignCurrenciesSum: ReadonlyArray<ForeignCurrencySum>; readonly total: FinancialAmount; }; /** input variables for businessTransactions */ export type BusinessTransactionsFilter = { readonly businessIDs?: InputMaybe<ReadonlyArray<Scalars['UUID']['input']>>; readonly fromDate?: InputMaybe<Scalars['TimelessDate']['input']>; readonly includeRevaluation?: InputMaybe<Scalars['Boolean']['input']>; readonly ownerIds?: InputMaybe<ReadonlyArray<Scalars['UUID']['input']>>; readonly toDate?: InputMaybe<Scalars['TimelessDate']['input']>; readonly type?: InputMaybe<FinancialEntityType>; }; /** result type for businessTransactionsFromLedgerRecords */ export type BusinessTransactionsFromLedgerRecordsResult = BusinessTransactionsFromLedgerRecordsSuccessfulResult | CommonError; /** result type for businessTransactionsFromLedgerRecords */ export type BusinessTransactionsFromLedgerRecordsSuccessfulResult = { readonly __typename?: 'BusinessTransactionsFromLedgerRecordsSuccessfulResult'; readonly businessTransactions: ReadonlyArray<BusinessTransaction>; }; /** result type for businessTransactionsSumFromLedgerRecords */ export type BusinessTransactionsSumFromLedgerRecordsResult = BusinessTransactionsSumFromLedgerRecordsSuccessfulResult | CommonError; /** result type for businessTransactionsSumFromLedgerRecords */ export type BusinessTransactionsSumFromLedgerRecordsSuccessfulResult = { readonly __typename?: 'BusinessTransactionsSumFromLedgerRecordsSuccessfulResult'; readonly businessTransactionsSum: ReadonlyArray<BusinessTransactionSum>; }; /** represent a business trip */ export type BusinessTrip = { readonly __typename?: 'BusinessTrip'; readonly accommodationExpenses: ReadonlyArray<BusinessTripAccommodationExpense>; readonly accountantApproval: AccountantStatus; readonly attendees: ReadonlyArray<BusinessTripAttendee>; readonly carRentalExpenses: ReadonlyArray<BusinessTripCarRentalExpense>; readonly dates?: Maybe<DateRange>; readonly destination?: Maybe<Country>; readonly flightExpenses: ReadonlyArray<BusinessTripFlightExpense>; readonly id: Scalars['UUID']['output']; readonly name: Scalars['String']['output']; readonly otherExpenses: ReadonlyArray<BusinessTripOtherExpense>; readonly purpose?: Maybe<Scalars['String']['output']>; readonly summary: BusinessTripSummary; readonly travelAndSubsistenceExpenses: ReadonlyArray<BusinessTripTravelAndSubsistenceExpense>; readonly uncategorizedTransactions: ReadonlyArray<Maybe<UncategorizedTransaction>>; }; /** represent a business trip accommodation expense */ export type BusinessTripAccommodationExpense = BusinessTripExpense & { readonly __typename?: 'BusinessTripAccommodationExpense'; readonly amount?: Maybe<FinancialAmount>; readonly attendeesStay: ReadonlyArray<BusinessTripAttendeeStay>; readonly businessTrip: BusinessTrip; readonly charges?: Maybe<ReadonlyArray<Charge>>; readonly country?: Maybe<Country>; readonly date?: Maybe<Scalars['TimelessDate']['output']>; readonly employee?: Maybe<FinancialEntity>; readonly id: Scalars['UUID']['output']; readonly nightsCount?: Maybe<Scalars['Int']['output']>; readonly payedByEmployee?: Maybe<Scalars['Boolean']['output']>; readonly transactions?: Maybe<ReadonlyArray<Transaction>>; readonly valueDate?: Maybe<Scalars['TimelessDate']['output']>; }; /** represent business trip attendee */ export type BusinessTripAttendee = { readonly __typename?: 'BusinessTripAttendee'; readonly accommodations: ReadonlyArray<BusinessTripAccommodationExpense>; readonly arrivalDate?: Maybe<Scalars['TimelessDate']['output']>; readonly business?: Maybe<Business>; readonly departureDate?: Maybe<Scalars['TimelessDate']['output']>; readonly flights: ReadonlyArray<BusinessTripFlightExpense>; readonly id: Scalars['UUID']['output']; readonly name: Scalars['String']['output']; }; /** represent a business trip attendee accommodation stay info */ export type BusinessTripAttendeeStay = { readonly __typename?: 'BusinessTripAttendeeStay'; readonly attendee: BusinessTripAttendee; readonly id: Scalars['UUID']['output']; readonly nightsCount: Scalars['Int']['output']; }; /** the input for attendee accommodation stay info */ export type BusinessTripAttendeeStayInput = { readonly attendeeId: Scalars['UUID']['input']; readonly nightsCount: Scalars['Int']['input']; }; /** the input for updating a business trip attendee */ export type BusinessTripAttendeeUpdateInput = { readonly arrivalDate?: InputMaybe<Scalars['TimelessDate']['input']>; readonly attendeeId: Scalars['UUID']['input']; readonly businessTripId: Scalars['UUID']['input']; readonly departureDate?: InputMaybe<Scalars['TimelessDate']['input']>; }; /** represent a business trip car rental expense */ export type BusinessTripCarRentalExpense = BusinessTripExpense & { readonly __typename?: 'BusinessTripCarRentalExpense'; readonly amount?: Maybe<FinancialAmount>; readonly businessTrip: BusinessTrip; readonly charges?: Maybe<ReadonlyArray<Charge>>; readonly date?: Maybe<Scalars['TimelessDate']['output']>; /** הוצאה מוכרת */ readonly days: Scalars['Int']['output']; readonly employee?: Maybe<FinancialEntity>; readonly id: Scalars['UUID']['output']; /** פירוט */ readonly isFuelExpense: Scalars['Boolean']['output']; readonly payedByEmployee?: Maybe<Scalars['Boolean']['output']>; readonly transactions?: Maybe<ReadonlyArray<Transaction>>; readonly valueDate?: Maybe<Scalars['TimelessDate']['output']>; }; /** charge of dividends */ export type BusinessTripCharge = Charge & { readonly __typename?: 'BusinessTripCharge'; readonly accountantApproval: AccountantStatus; readonly additionalDocuments: ReadonlyArray<Document>; readonly businessTrip?: Maybe<BusinessTrip>; readonly counterparty?: Maybe<FinancialEntity>; readonly decreasedVAT?: Maybe<Scalars['Boolean']['output']>; readonly id: Scalars['UUID']['output']; readonly isInvoicePaymentDifferentCurrency?: Maybe<Scalars['Boolean']['output']>; readonly ledger: Ledger; readonly metadata?: Maybe<ChargeMetadata>; readonly minDebitDate?: Maybe<Scalars['DateTime']['output']>; readonly minDocumentsDate?: Maybe<Scalars['DateTime']['output']>; readonly minEventDate?: Maybe<Scalars['DateTime']['output']>; readonly miscExpenses: ReadonlyArray<MiscExpense>; readonly missingInfoSuggestions?: Maybe<ChargeSuggestions>; readonly optionalDocuments?: Maybe<Scalars['Boolean']['output']>; readonly optionalVAT?: Maybe<Scalars['Boolean']['output']>; readonly owner: Business; readonly property?: Maybe<Scalars['Boolean']['output']>; readonly tags: ReadonlyArray<Tag>; readonly taxCategory?: Maybe<TaxCategory>; readonly totalAmount?: Maybe<FinancialAmount>; readonly transactions: ReadonlyArray<Transaction>; readonly userDescription?: Maybe<Scalars['String']['output']>; readonly validationData?: Maybe<ValidationData>; readonly vat?: Maybe<FinancialAmount>; readonly withholdingTax?: Maybe<FinancialAmount>; readonly yearsOfRelevance?: Maybe<ReadonlyArray<YearOfRelevance>>; }; /** business trip expense prototype */ export type BusinessTripExpense = { readonly amount?: Maybe<FinancialAmount>; readonly businessTrip: BusinessTrip; readonly charges?: Maybe<ReadonlyArray<Charge>>; readonly date?: Maybe<Scalars['TimelessDate']['output']>; readonly employee?: Maybe<FinancialEntity>; readonly id: Scalars['UUID']['output']; /** שולם על ידי העובד */ readonly payedByEmployee?: Maybe<Scalars['Boolean']['output']>; readonly transactions?: Maybe<ReadonlyArray<Transaction>>; readonly valueDate?: Maybe<Scalars['TimelessDate']['output']>; }; /** represent category type of business trip summary */ export type BusinessTripExpenseCategories = | 'ACCOMMODATION' | 'CAR_RENTAL' | 'FLIGHT' | 'OTHER' | 'TRAVEL_AND_SUBSISTENCE'; /** represent a business trip flight expense */ export type BusinessTripFlightExpense = BusinessTripExpense & { readonly __typename?: 'BusinessTripFlightExpense'; readonly amount?: Maybe<FinancialAmount>; readonly attendees: ReadonlyArray<BusinessTripAttendee>; readonly businessTrip: BusinessTrip; readonly charges?: Maybe<ReadonlyArray<Charge>>; readonly class?: Maybe<Scalars['String']['output']>; readonly date?: Maybe<Scalars['TimelessDate']['output']>; readonly employee?: Maybe<FinancialEntity>; readonly id: Scalars['UUID']['output']; readonly path?: Maybe<ReadonlyArray<Scalars['String']['output']>>; readonly payedByEmployee?: Maybe<Scalars['Boolean']['output']>; readonly transactions?: Maybe<ReadonlyArray<Transaction>>; readonly valueDate?: Maybe<Scalars['TimelessDate']['output']>; }; /** represent a business trip other expense */ export type BusinessTripOtherExpense = BusinessTripExpense & { readonly __typename?: 'BusinessTripOtherExpense'; readonly amount?: Maybe<FinancialAmount>; readonly businessTrip: BusinessTrip; readonly charges?: Maybe<ReadonlyArray<Charge>>; readonly date?: Maybe<Scalars['TimelessDate']['output']>; /** הוצאה מוכרת */ readonly deductibleExpense?: Maybe<Scalars['Boolean']['output']>; /** פירוט */ readonly description?: Maybe<Scalars['String']['output']>; readonly employee?: Maybe<FinancialEntity>; readonly id: Scalars['UUID']['output']; readonly payedByEmployee?: Maybe<Scalars['Boolean']['output']>; readonly transactions?: Maybe<ReadonlyArray<Transaction>>; readonly valueDate?: Maybe<Scalars['TimelessDate']['output']>; }; /** represent business trip summary data */ export type BusinessTripSummary = { readonly __typename?: 'BusinessTripSummary'; readonly errors?: Maybe<ReadonlyArray<Scalars['String']['output']>>; readonly excessExpenditure?: Maybe<FinancialAmount>; readonly excessTax?: Maybe<Scalars['Float']['output']>; readonly rows: ReadonlyArray<BusinessTripSummaryRow>; }; /** represent category type of business trip summary */ export type BusinessTripSummaryCategories = | 'ACCOMMODATION' | 'CAR_RENTAL' | 'FLIGHT' | 'OTHER' | 'TOTAL' | 'TRAVEL_AND_SUBSISTENCE'; /** represent business trip summary data row */ export type BusinessTripSummaryRow = { readonly __typename?: 'BusinessTripSummaryRow'; readonly excessExpenditure?: Maybe<FinancialAmount>; readonly maxTaxableForeignCurrency: FinancialAmount; readonly maxTaxableLocalCurrency?: Maybe<FinancialAmount>; readonly taxableForeignCurrency: FinancialAmount; readonly taxableLocalCurrency?: Maybe<FinancialAmount>; readonly totalForeignCurrency: FinancialAmount; readonly totalLocalCurrency?: Maybe<FinancialAmount>; readonly type: BusinessTripSummaryCategories; }; /** represent a business trip travel and subsistence expense */ export type BusinessTripTravelAndSubsistenceExpense = BusinessTripExpense & { readonly __typename?: 'BusinessTripTravelAndSubsistenceExpense'; readonly amount?: Maybe<FinancialAmount>; readonly businessTrip: BusinessTrip; readonly charges?: Maybe<ReadonlyArray<Charge>>; readonly date?: Maybe<Scalars['TimelessDate']['output']>; readonly employee?: Maybe<FinancialEntity>; /** סוג ההוצאה */ readonly expense