UNPKG

@accounter/green-invoice-graphql

Version:
1,141 lines 59.5 kB
import { InContextSdkMethod } from '@graphql-mesh/types';
import { MeshContext } from '@graphql-mesh/runtime';
export declare namespace GreenInvoiceTypes {
    type Maybe<T> = T | null;
    type InputMaybe<T> = Maybe<T>;
    type Exact<T extends {
        [key: string]: unknown;
    }> = {
        [K in keyof T]: T[K];
    };
    type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
        [SubKey in K]?: Maybe<T[SubKey]>;
    };
    type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
        [SubKey in K]: Maybe<T[SubKey]>;
    };
    type MakeEmpty<T extends {
        [key: string]: unknown;
    }, K extends keyof T> = {
        [_ in K]?: never;
    };
    type Incremental<T> = T | {
        [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
    };
    /** All built-in and custom scalars, mapped to their actual values */
    type Scalars = {
        ID: {
            input: string;
            output: string;
        };
        /** The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. */
        String: {
            input: string;
            output: string;
        };
        /** The `Boolean` scalar type represents `true` or `false`. */
        Boolean: {
            input: boolean;
            output: boolean;
        };
        /** The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. */
        Int: {
            input: number;
            output: number;
        };
        /** The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). */
        Float: {
            input: number;
            output: number;
        };
        /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */
        JSON: {
            input: any;
            output: any;
        };
        ObjMap: {
            input: any;
            output: any;
        };
    };
    type Query = {
        previewDocument?: Maybe<previewDocumentResponse>;
        getExpense?: Maybe<GetExpense>;
        searchExpenses?: Maybe<searchExpensesResponse>;
        searchDocuments?: Maybe<searchDocumentsResponse>;
        searchExpenseDrafts?: Maybe<searchExpenseDrafts_response>;
        getDocument?: Maybe<Document>;
        getLinkedDocuments?: Maybe<GetLinkedDocuments>;
        getClient?: Maybe<getClientResponse>;
    };
    type QuerypreviewDocumentArgs = {
        input?: InputMaybe<DocumentInputNew_Input>;
    };
    type QuerygetExpenseArgs = {
        id: Scalars['String']['input'];
    };
    type QuerysearchExpensesArgs = {
        input?: InputMaybe<searchExpensesRequest_Input>;
    };
    type QuerysearchDocumentsArgs = {
        input?: InputMaybe<searchDocumentsRequest_Input>;
    };
    type QuerysearchExpenseDraftsArgs = {
        input?: InputMaybe<searchExpenseDraftsRequest_Input>;
    };
    type QuerygetDocumentArgs = {
        id: Scalars['String']['input'];
    };
    type QuerygetLinkedDocumentsArgs = {
        id: Scalars['String']['input'];
    };
    type QuerygetClientArgs = {
        id: Scalars['String']['input'];
    };
    type previewDocumentResponse = query_previewDocument_oneOf_0 | ErrorResponse;
    type query_previewDocument_oneOf_0 = {
        /** Preview document file in Base64 */
        file: Scalars['String']['output'];
    };
    /** Error */
    type ErrorResponse = {
        errorCode?: Maybe<Scalars['Float']['output']>;
        errorMessage?: Maybe<Scalars['String']['output']>;
    };
    type DocumentInputNew_Input = {
        /** Document's description */
        description?: InputMaybe<Scalars['String']['input']>;
        remarks?: InputMaybe<Scalars['String']['input']>;
        /** Texts appearing in footer */
        footer?: InputMaybe<Scalars['String']['input']>;
        type: DocumentType;
        /** Document date in the format YYYY-MM-DD */
        date?: InputMaybe<Scalars['String']['input']>;
        /** Document payment due date in the format YYYY-MM-DD */
        dueDate?: InputMaybe<Scalars['String']['input']>;
        lang: DocumentLang;
        currency: Currency;
        vatType: VatType;
        discount?: InputMaybe<DocumentDiscount_Input>;
        /** Round the amounts */
        rounding?: InputMaybe<Scalars['Boolean']['input']>;
        /** Digital sign the document */
        signed?: InputMaybe<Scalars['Boolean']['input']>;
        /** Max payments allowed (valid only on supported accounts) */
        maxPayments?: InputMaybe<Scalars['Int']['input']>;
        client?: InputMaybe<mutationInput_addDocument_input_allOf_0_client_Input>;
        income?: InputMaybe<Array<InputMaybe<Income_Input>>>;
        payment?: InputMaybe<Array<InputMaybe<PaymentDocument_Input>>>;
        /** Linked document IDs. allows you to state the related / relevant documents, e.g.: when creating a receipt, attach your original invoice document ID as one of the ids in the linkedDocumentIds - this in turn will automatically close the original invoice if needed. */
        linkedDocumentIds?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
        /** Linked payment ID (valid for document type 305 only). allows you to define the paymentId that the document is going to be relevant to, this can be attached only to invoice documents (type 305). */
        linkedPaymentId?: InputMaybe<Scalars['String']['input']>;
        linkType?: InputMaybe<mutationInput_addDocument_input_allOf_0_linkType>;
    };
    /** Document type */
    type DocumentType = '_10' | '_100' | '_200' | '_210' | '_300' | '_305' | '_320' | '_330' | '_400' | '_405' | '_500' | '_600' | '_610';
    /** Document language */
    type DocumentLang = 'en' | 'he';
    /** 3-letter ISO item currency code */
    type Currency = 'ILS' | 'USD' | 'EUR' | 'GBP' | 'JPY' | 'CHF' | 'CNY' | 'AUD' | 'CAD' | 'RUB' | 'BRL' | 'HKD' | 'SGD' | 'THB' | 'MXN' | 'TRY' | 'NZD' | 'SEK' | 'NOK' | 'DKK' | 'KRW' | 'INR' | 'IDR' | 'PLN' | 'RON' | 'ZAR' | 'HRK';
    /** VAT type */
    type VatType = '_0' | '_1' | '_2';
    /** Discount information */
    type DocumentDiscount_Input = {
        amount: Scalars['Float']['input'];
        type: mutationInput_addDocument_input_allOf_0_discount_type;
    };
    /** Discount amount type */
    type mutationInput_addDocument_input_allOf_0_discount_type = 'sum' | 'percentage';
    type mutationInput_addDocument_input_allOf_0_client_Input = {
        country?: InputMaybe<Country>;
        emails?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
        id: Scalars['JSON']['input'];
        /** The client name */
        name?: InputMaybe<Scalars['String']['input']>;
        phone?: InputMaybe<Scalars['String']['input']>;
        /** The client tax ID */
        taxId?: InputMaybe<Scalars['String']['input']>;
        /** Whether the client is self */
        self?: InputMaybe<Scalars['Boolean']['input']>;
        /** Client address */
        address?: InputMaybe<Scalars['String']['input']>;
        /** Client city */
        city?: InputMaybe<Scalars['String']['input']>;
        /** Client zip code */
        zip?: InputMaybe<Scalars['String']['input']>;
        /** Client fax */
        fax?: InputMaybe<Scalars['String']['input']>;
        /** The client mobile number */
        mobile?: InputMaybe<Scalars['String']['input']>;
        /** Add a temporary client to the clients' list */
        add?: InputMaybe<Scalars['Boolean']['input']>;
    };
    /** 2-letter ISO supplier country code, default is IL */
    type Country = 'UG' | 'UZ' | 'AT' | 'AU' | 'UA' | 'UY' | 'AZ' | 'CX' | 'AE' | 'IT' | 'BS' | 'GS' | 'UM' | 'VI' | 'VG' | 'HM' | 'TC' | 'MP' | 'MH' | 'SB' | 'FO' | 'FK' | 'FJ' | 'KM' | 'CK' | 'CC' | 'KY' | 'ID' | 'IS' | 'IE' | 'IR' | 'SV' | 'AL' | 'DZ' | 'AX' | 'AO' | 'AI' | 'AD' | 'AQ' | 'AG' | 'EE' | 'AF' | 'EC' | 'AR' | 'US' | 'AW' | 'ER' | 'AM' | 'ET' | 'BT' | 'BV' | 'BW' | 'BG' | 'BO' | 'BA' | 'BI' | 'BF' | 'BH' | 'BY' | 'BE' | 'BZ' | 'BD' | 'BJ' | 'BB' | 'BN' | 'BR' | 'GB' | 'BM' | 'DJ' | 'JM' | 'JE' | 'GA' | 'GE' | 'GH' | 'GT' | 'GU' | 'GP' | 'GY' | 'GI' | 'GN' | 'GW' | 'GQ' | 'GF' | 'GM' | 'GL' | 'DE' | 'GD' | 'GG' | 'DM' | 'DK' | 'ZA' | 'SS' | 'KR' | 'IM' | 'NF' | 'HT' | 'MV' | 'BQ' | 'IN' | 'NL' | 'HK' | 'HU' | 'HN' | 'IO' | 'TF' | 'PH' | 'DO' | 'CD' | 'CF' | 'PS' | 'WF' | 'VN' | 'VU' | 'VE' | 'VA' | 'ZW' | 'ZM' | 'CI' | 'TJ' | 'TV' | 'TG' | 'TO' | 'TN' | 'TK' | 'TR' | 'TM' | 'TW' | 'TZ' | 'TT' | 'GR' | 'JP' | 'JO' | 'IL' | 'KW' | 'CV' | 'LA' | 'LB' | 'LY' | 'LU' | 'LV' | 'LR' | 'LT' | 'LI' | 'LS' | 'MR' | 'MU' | 'ML' | 'MG' | 'MZ' | 'MD' | 'MN' | 'ME' | 'MS' | 'MC' | 'TL' | 'MM' | 'YT' | 'FM' | 'MW' | 'MY' | 'MT' | 'EG' | 'MO' | 'MK' | 'MX' | 'MA' | 'MQ' | 'NR' | 'NO' | 'NG' | 'NZ' | 'NU' | 'NE' | 'NI' | 'NA' | 'NP' | 'ST' | 'SJ' | 'EH' | 'SD' | 'SZ' | 'SO' | 'SY' | 'SR' | 'SL' | 'SC' | 'CN' | 'SG' | 'SI' | 'SK' | 'WS' | 'AS' | 'BL' | 'MF' | 'SM' | 'PM' | 'SN' | 'SH' | 'VC' | 'LC' | 'SX' | 'KN' | 'SA' | 'ES' | 'RS' | 'LK' | 'OM' | 'IQ' | 'PW' | 'PL' | 'PF' | 'PR' | 'PT' | 'PN' | 'FI' | 'PA' | 'PG' | 'PK' | 'PY' | 'PE' | 'TD' | 'CL' | 'CZ' | 'KP' | 'FR' | 'CU' | 'CO' | 'CG' | 'XK' | 'CR' | 'CW' | 'KZ' | 'QA' | 'KG' | 'KI' | 'NC' | 'KH' | 'CM' | 'CA' | 'KE' | 'CY' | 'HR' | 'RE' | 'RW' | 'RO' | 'RU' | 'SE' | 'CH' | 'TH' | 'YE';
    type Income_Input = {
        /** Amount */
        amount?: InputMaybe<Scalars['Float']['input']>;
        /** Total amount */
        amountTotal?: InputMaybe<Scalars['Float']['input']>;
        /** Catalog number */
        catalogNum?: InputMaybe<Scalars['String']['input']>;
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate?: InputMaybe<Scalars['Float']['input']>;
        /** Item description */
        description: Scalars['String']['input'];
        /** The ID of the item to attach as income */
        itemId?: InputMaybe<Scalars['String']['input']>;
        /** Item price */
        price: Scalars['Float']['input'];
        /** Quantity */
        quantity: Scalars['Float']['input'];
        /** VAT amount */
        vat?: InputMaybe<Scalars['Float']['input']>;
        /** VAT rate */
        vatRate?: InputMaybe<Scalars['Float']['input']>;
        vatType: VatType;
    };
    type PaymentDocument_Input = {
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate?: InputMaybe<Scalars['Float']['input']>;
        date?: InputMaybe<Scalars['String']['input']>;
        /** Sum paid */
        price: Scalars['Float']['input'];
        type: mutationInput_addDocument_input_allOf_0_payment_items_type;
        subType?: InputMaybe<mutationInput_addDocument_input_allOf_0_payment_items_subType>;
        /** Bank name (required when using Cheques) */
        bankName?: InputMaybe<Scalars['String']['input']>;
        /** Bank branch number (required when using Cheques) */
        bankBranch?: InputMaybe<Scalars['String']['input']>;
        /** Bank account number (required when using Cheques) */
        bankAccount?: InputMaybe<Scalars['String']['input']>;
        /** Cheque number (required when using Cheques) */
        chequeNum?: InputMaybe<Scalars['String']['input']>;
        /** Payer account (PayPal / Payment App / Other) */
        accountId?: InputMaybe<Scalars['String']['input']>;
        /** Transaction ID (PayPal / Payment App / Other) */
        transactionId?: InputMaybe<Scalars['String']['input']>;
        appType?: InputMaybe<mutationInput_addDocument_input_allOf_0_payment_items_appType>;
        cardType?: InputMaybe<mutationInput_addDocument_input_allOf_0_payment_items_cardType>;
        /** Credit card's last 4 digits */
        cardNum?: InputMaybe<Scalars['String']['input']>;
        dealType?: InputMaybe<mutationInput_addDocument_input_allOf_0_payment_items_dealType>;
        /** Credit card's payments count (1-36) */
        numPayments?: InputMaybe<Scalars['Int']['input']>;
        /** Credit card's first payment */
        firstPayment?: InputMaybe<Scalars['Float']['input']>;
    };
    /** Payment method */
    type mutationInput_addDocument_input_allOf_0_payment_items_type = 'NEGATIVE_1' | '_0' | '_1' | '_2' | '_3' | '_4' | '_5' | '_9' | '_10' | '_11';
    /** Other payment sub type (required when using 'other' as a Payment type) */
    type mutationInput_addDocument_input_allOf_0_payment_items_subType = '_1' | '_2' | '_3' | '_4' | '_5' | '_6' | '_7' | '_8';
    /** Payment app type (required when using 'payment app' as a Payment type) */
    type mutationInput_addDocument_input_allOf_0_payment_items_appType = '_1' | '_2' | '_3' | '_4' | '_5' | '_6';
    /** Credit card type */
    type mutationInput_addDocument_input_allOf_0_payment_items_cardType = '_1' | '_2' | '_3' | '_4' | '_5';
    /** Credit card deal type */
    type mutationInput_addDocument_input_allOf_0_payment_items_dealType = '_1' | '_2' | '_3' | '_4' | '_5' | '_6';
    /** Reference type (applicable only when using linkedDocumentIds) */
    type mutationInput_addDocument_input_allOf_0_linkType = 'LINK' | 'CANCEL';
    /** A Single Expense */
    type GetExpense = {
        /** The amount excluding the vat */
        amountExcludeVat?: Maybe<Scalars['Float']['output']>;
        /** The expense ID */
        id?: Maybe<Scalars['String']['output']>;
        businessType?: Maybe<mutation_updateExpense_oneOf_0_businessType>;
        documentType?: Maybe<ExpenseDocumentType>;
        status?: Maybe<mutation_updateExpense_oneOf_0_status>;
        paymentType?: Maybe<mutation_updateExpense_oneOf_0_paymentType>;
        currency?: Maybe<Currency>;
        /** Currency rate relative to ILS */
        currencyRate?: Maybe<Scalars['Float']['output']>;
        /** VAT amount */
        vat?: Maybe<Scalars['Float']['output']>;
        /** The total amount of the expense */
        amount?: Maybe<Scalars['Float']['output']>;
        /** Date of the expense */
        date?: Maybe<Scalars['String']['output']>;
        /** Due date of the expense */
        dueDate?: Maybe<Scalars['String']['output']>;
        /** Number of the expense */
        number?: Maybe<Scalars['String']['output']>;
        /** Is the expense currently active or not */
        active?: Maybe<Scalars['Boolean']['output']>;
        /** Description for the expense */
        description?: Maybe<Scalars['String']['output']>;
        /** Remarks for the expense */
        remarks?: Maybe<Scalars['String']['output']>;
        supplier?: Maybe<Supplier>;
        /** URL of expense thumbnail */
        thumbnail?: Maybe<Scalars['String']['output']>;
        /** URL to download the expense thumbnail */
        url?: Maybe<Scalars['String']['output']>;
        /** Is the supplier currently active or not */
        cancellable?: Maybe<Scalars['Boolean']['output']>;
        /** Reporting date of the expense */
        reportingDate?: Maybe<Scalars['String']['output']>;
        accountingClassification?: Maybe<AccountingClassification>;
        /** The local amount of the expense */
        amountLocal?: Maybe<Scalars['Float']['output']>;
        /** The amount of accounting */
        amountAccounting?: Maybe<Scalars['Float']['output']>;
        /** The vat amount of accounting */
        vatAccounting?: Maybe<Scalars['Float']['output']>;
        /** The creation date, in UNIX timestamp format */
        creationDate?: Maybe<Scalars['Int']['output']>;
        /** The last update date of the expense, in UNIX timestamp format */
        lastUpdateDate?: Maybe<Scalars['Int']['output']>;
    };
    /** The business type ID */
    type mutation_updateExpense_oneOf_0_businessType = '_1' | '_2' | '_3' | '_4' | '_5' | '_6';
    /** Document type */
    type ExpenseDocumentType = '_20' | '_305' | '_320' | '_330' | '_400' | '_405';
    /** The status of the expense */
    type mutation_updateExpense_oneOf_0_status = '_10' | '_20' | '_30' | '_100';
    /** Payment method */
    type mutation_updateExpense_oneOf_0_paymentType = 'NEGATIVE_1' | '_0' | '_1' | '_2' | '_3' | '_4' | '_5' | '_10' | '_11';
    /** Supplier of the expense */
    type Supplier = {
        /** The supplier ID */
        id?: Maybe<Scalars['String']['output']>;
        /** The supplier name */
        name?: Maybe<Scalars['String']['output']>;
        /** Is the supplier active or not */
        active?: Maybe<Scalars['Boolean']['output']>;
        /** The supplier tax ID */
        taxId?: Maybe<Scalars['String']['output']>;
        paymentTerms?: Maybe<mutation_addExpense_oneOf_0_allOf_0_supplier_paymentTerms>;
        /** The supplier bank name */
        bankName?: Maybe<Scalars['String']['output']>;
        /** The supplier bank branch number */
        bankBranch?: Maybe<Scalars['String']['output']>;
        /** The supplier bank account number */
        bankAccount?: Maybe<Scalars['String']['output']>;
        country?: Maybe<Country>;
        /** The supplier phone number */
        phone?: Maybe<Scalars['String']['output']>;
        /** The supplier mobile number */
        mobile?: Maybe<Scalars['String']['output']>;
        /** The supplier contact person name */
        contactPerson?: Maybe<Scalars['String']['output']>;
        emails?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
        labels?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
        /** The creation date, in UNIX timestamp format */
        creationDate?: Maybe<Scalars['Int']['output']>;
        /** The last update date of the supplier, in UNIX timestamp format */
        lastUpdateDate?: Maybe<Scalars['Int']['output']>;
        /** The supplier department */
        department?: Maybe<Scalars['String']['output']>;
        /** The supplier accounting key */
        accountingKey?: Maybe<Scalars['String']['output']>;
        /** The supplier address */
        address?: Maybe<Scalars['String']['output']>;
        /** The supplier city */
        city?: Maybe<Scalars['String']['output']>;
        /** The supplier zip code */
        zip?: Maybe<Scalars['String']['output']>;
        /** The supplier fax number */
        fax?: Maybe<Scalars['String']['output']>;
        /** The Supplier remarks for self use */
        remarks?: Maybe<Scalars['String']['output']>;
        /** The amount of incomes from the customer */
        incomeAmount?: Maybe<Scalars['Float']['output']>;
        paymentAmount?: Maybe<Scalars['Float']['output']>;
        /** The balance amount of the supplier */
        balanceAmount?: Maybe<Scalars['Float']['output']>;
    };
    /** The supplier payment term, default is 0 */
    type mutation_addExpense_oneOf_0_allOf_0_supplier_paymentTerms = 'NEGATIVE_1' | '_0' | '_10' | '_15' | '_30' | '_45' | '_60' | '_75' | '_90' | '_120';
    /** Account classification of the expense */
    type AccountingClassification = {
        /** The classification ID, see 'Get Accounting Classifications' endpoint */
        id?: Maybe<Scalars['String']['output']>;
        /** The classification key */
        key?: Maybe<Scalars['String']['output']>;
        /** The classification code */
        code?: Maybe<Scalars['String']['output']>;
        /** The classification title */
        title?: Maybe<Scalars['String']['output']>;
        irsCode?: Maybe<mutation_addExpense_oneOf_0_allOf_0_accountingClassification_irsCode>;
        /** The classification income */
        income?: Maybe<Scalars['Float']['output']>;
        /** The classification type */
        type?: Maybe<Scalars['Float']['output']>;
        /** The classification VAT */
        vat?: Maybe<Scalars['Float']['output']>;
    };
    /** The classification IRS code */
    type mutation_addExpense_oneOf_0_allOf_0_accountingClassification_irsCode = '_1306' | '_1307' | '_1310' | '_1320' | '_1330' | '_1340' | '_1390' | '_3011' | '_3012' | '_3015' | '_3055' | '_3060' | '_3066' | '_3067' | '_3068' | '_3070' | '_3075' | '_3080' | '_3085' | '_3090' | '_3100' | '_3120' | '_3511' | '_3512' | '_3515' | '_3520' | '_3535' | '_3540' | '_3545' | '_3550' | '_3555' | '_3560' | '_3566' | '_3567' | '_3568' | '_3570' | '_3575' | '_3580' | '_3590' | '_3595' | '_3600' | '_3620' | '_3625' | '_3640' | '_3650' | '_3660' | '_3665' | '_3680' | '_5010' | '_5090' | '_8040' | '_8050' | '_8060' | '_8080' | '_8090';
    type searchExpensesResponse = {
        /** The total length of the items that were retrieved */
        total?: Maybe<Scalars['Float']['output']>;
        /** The page that was requested to retrieve */
        page?: Maybe<Scalars['Float']['output']>;
        /** The page size that was requested */
        pageSize?: Maybe<Scalars['Float']['output']>;
        /** The amount of pages that exist */
        pages?: Maybe<Scalars['Float']['output']>;
        items?: Maybe<GetExpense>;
    };
    type searchExpensesRequest_Input = {
        /** Expense that were created after the specified date in the format YYYY-MM-DD */
        fromDate?: InputMaybe<Scalars['String']['input']>;
        /** Expense that were created until the specified date in the format YYYY-MM-DD */
        toDate?: InputMaybe<Scalars['String']['input']>;
        /** Due date of the expense, in the format YYYY-MM-DD */
        dueDate?: InputMaybe<Scalars['String']['input']>;
        /** Expense description */
        description?: InputMaybe<Scalars['String']['input']>;
        /** Supplier's ID */
        supplierId?: InputMaybe<Scalars['String']['input']>;
        /** Supplier's name */
        supplierName?: InputMaybe<Scalars['String']['input']>;
        /** Expense serial number */
        number?: InputMaybe<Scalars['String']['input']>;
        /** Filter expenses that are only paid or unpaid, if not added to the request, will return both */
        paid?: InputMaybe<Scalars['Boolean']['input']>;
        /** Filter expenses that are only reported or unreported, if not added to the request, will return both */
        reported?: InputMaybe<Scalars['Boolean']['input']>;
        /** The field to sort the results by */
        sort?: InputMaybe<Scalars['String']['input']>;
        /** Min amount of the expense */
        minAmount: Scalars['Float']['input'];
        /** Max amount of the expense */
        maxAmount: Scalars['Float']['input'];
        /** Page requested */
        page: Scalars['Float']['input'];
        /** Results per page */
        pageSize: Scalars['Float']['input'];
    };
    type searchDocumentsResponse = {
        /** The total length of the items that were retrieved */
        total: Scalars['Float']['output'];
        /** The page that was requested to retrieve */
        page: Scalars['Float']['output'];
        /** The page size that was requested */
        pageSize: Scalars['Float']['output'];
        /** The amount of pages that exist */
        pages: Scalars['Float']['output'];
        items: Array<Maybe<Document>>;
    };
    /** A Single Document */
    type Document = {
        /** Total amount, in requested currency (including the VAT, Discount & Rounding) */
        amount: Scalars['Float']['output'];
        /** Amount due VAT - Amount before VAT, and before rounding & discount (if requested) */
        amountDueVat: Scalars['Float']['output'];
        /** Amount due VAT - local currency */
        amountDueVatLocal: Scalars['Float']['output'];
        /** Amount excluded VAT - Amount that is excluded of VAT */
        amountExcludeVat: Scalars['Float']['output'];
        /** Amount exempt VAT - 0 unless there's one or more items that are excluded of VAT such as mixed documents (that have both VAT excluded & included items) */
        amountExemptVat: Scalars['Float']['output'];
        /** Amount in local currency */
        amountLocal: Scalars['Float']['output'];
        /** Amount that is still left to be paid, exists only in payment request documents */
        amountOpened: Scalars['Float']['output'];
        business: Business;
        calculatedAmountLocal: Scalars['Float']['output'];
        calculatedAmountOpenedLocal: Scalars['Float']['output'];
        calculatedIncomeAmountExcludeLocal: Scalars['Float']['output'];
        calculatedIncomeAmountLocal: Scalars['Float']['output'];
        calculatedPaymentAmountLocal: Scalars['Float']['output'];
        cancellable: Scalars['Boolean']['output'];
        cancelType?: Maybe<Scalars['Float']['output']>;
        client: Client;
        /** The creation date, in UNIX timestamp format */
        creationDate: Scalars['Int']['output'];
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate: Scalars['Float']['output'];
        data: DocumentData;
        /** Document's description */
        description: Scalars['String']['output'];
        /** Document reference date */
        documentDate: Scalars['String']['output'];
        downloaded: Scalars['Boolean']['output'];
        /** Texts appearing in footer */
        footer?: Maybe<Scalars['String']['output']>;
        /** Document ID */
        id: Scalars['String']['output'];
        income: Array<Maybe<Income>>;
        lang: DocumentLang;
        linkedDocuments?: Maybe<Array<Maybe<DocumentLinkedDocument>>>;
        /** Document tax number */
        number: Scalars['String']['output'];
        payment: Array<Maybe<PaymentDocument>>;
        ref: Array<Maybe<Scalars['Float']['output']>>;
        remarks?: Maybe<Scalars['String']['output']>;
        reverseCharge: Scalars['Boolean']['output'];
        /** Round the amounts */
        rounding: Scalars['Boolean']['output'];
        /** Digital sign the document */
        signed: Scalars['Boolean']['output'];
        skinId: Scalars['Float']['output'];
        /** Document status */
        status: Scalars['Float']['output'];
        taxConfirmationEligible: Scalars['Boolean']['output'];
        templateId: Scalars['Float']['output'];
        type: DocumentType;
        url: Url;
        userName?: Maybe<Scalars['String']['output']>;
        /** VAT amount */
        vat: Scalars['Float']['output'];
        vatLocal?: Maybe<Scalars['Float']['output']>;
        /** VAT rate */
        vatRate: Scalars['Float']['output'];
        vatType: VatType;
    };
    type Business = {
        accountantDocsEmailSettings: Scalars['Float']['output'];
        accountantEmails: Array<Maybe<Scalars['JSON']['output']>>;
        accountantReportEmailSettings: Scalars['Float']['output'];
        accountingType: Scalars['Float']['output'];
        active: Scalars['Boolean']['output'];
        advanceNationalInsuranceRate: Scalars['Float']['output'];
        advanceTaxRate: Scalars['Float']['output'];
        bankDisplay: Scalars['Boolean']['output'];
        bankDisplayEn: Scalars['Boolean']['output'];
        deductionRate: Scalars['Float']['output'];
        documentsEmailSettings: Scalars['Float']['output'];
        emailSubjectType: Scalars['Float']['output'];
        /** Is the business exemption free or not */
        exemption: Scalars['Boolean']['output'];
        incomeReportEmailSettings: Scalars['Float']['output'];
        incomeReportFormatType: Scalars['Float']['output'];
        reportSendingDay: Scalars['Float']['output'];
        senderEmailSettings: Scalars['Float']['output'];
        type: query_searchDocuments_items_items_business_type;
    };
    /** The business type ID */
    type query_searchDocuments_items_items_business_type = '_1' | '_2' | '_3' | '_4' | '_5' | '_6';
    type Client = {
        country: Country;
        emails: Array<Maybe<Scalars['String']['output']>>;
        /** The client ID */
        id: Scalars['String']['output'];
        /** The client name */
        name: Scalars['String']['output'];
        phone: Scalars['String']['output'];
        /** The client tax ID */
        taxId?: Maybe<Scalars['String']['output']>;
        /** Whether the client is self */
        self: Scalars['Boolean']['output'];
    };
    type DocumentData = {
        /** TODO: implement */
        tags?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;
    };
    type Income = {
        /** Amount */
        amount?: Maybe<Scalars['Float']['output']>;
        /** Total amount */
        amountTotal?: Maybe<Scalars['Float']['output']>;
        /** Catalog number */
        catalogNum?: Maybe<Scalars['String']['output']>;
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate?: Maybe<Scalars['Float']['output']>;
        /** Item description */
        description: Scalars['String']['output'];
        /** The ID of the item to attach as income */
        itemId?: Maybe<Scalars['String']['output']>;
        /** Item price */
        price: Scalars['Float']['output'];
        /** Quantity */
        quantity: Scalars['Float']['output'];
        /** VAT amount */
        vat?: Maybe<Scalars['Float']['output']>;
        /** VAT rate */
        vatRate?: Maybe<Scalars['Float']['output']>;
        vatType: VatType;
    };
    /** A Linked Document */
    type DocumentLinkedDocument = {
        /** Total amount, in requested currency (including the VAT, Discount & Rounding) */
        amount: Scalars['Float']['output'];
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate: Scalars['Float']['output'];
        /** Document reference date */
        documentDate: Scalars['String']['output'];
        /** Document ID */
        id: Scalars['String']['output'];
        /** Document tax number */
        number: Scalars['String']['output'];
        reverseCharge: Scalars['Boolean']['output'];
        type: DocumentType;
    };
    type PaymentDocument = {
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate?: Maybe<Scalars['Float']['output']>;
        date?: Maybe<Scalars['String']['output']>;
        /** Sum paid */
        price: Scalars['Float']['output'];
        type: mutationInput_addDocument_input_allOf_0_payment_items_type;
        subType?: Maybe<mutationInput_addDocument_input_allOf_0_payment_items_subType>;
        /** Bank name (required when using Cheques) */
        bankName?: Maybe<Scalars['String']['output']>;
        /** Bank branch number (required when using Cheques) */
        bankBranch?: Maybe<Scalars['String']['output']>;
        /** Bank account number (required when using Cheques) */
        bankAccount?: Maybe<Scalars['String']['output']>;
        /** Cheque number (required when using Cheques) */
        chequeNum?: Maybe<Scalars['String']['output']>;
        /** Payer account (PayPal / Payment App / Other) */
        accountId?: Maybe<Scalars['String']['output']>;
        /** Transaction ID (PayPal / Payment App / Other) */
        transactionId?: Maybe<Scalars['String']['output']>;
        appType?: Maybe<mutationInput_addDocument_input_allOf_0_payment_items_appType>;
        cardType?: Maybe<mutationInput_addDocument_input_allOf_0_payment_items_cardType>;
        /** Credit card's last 4 digits */
        cardNum?: Maybe<Scalars['String']['output']>;
        dealType?: Maybe<mutationInput_addDocument_input_allOf_0_payment_items_dealType>;
        /** Credit card's payments count (1-36) */
        numPayments?: Maybe<Scalars['Int']['output']>;
        /** Credit card's first payment */
        firstPayment?: Maybe<Scalars['Float']['output']>;
    };
    type Url = {
        /** Copy in Hebrew */
        he: Scalars['String']['output'];
        /** Copy in English */
        en?: Maybe<Scalars['String']['output']>;
        /** Origin */
        origin: Scalars['String']['output'];
    };
    type searchDocumentsRequest_Input = {
        /** Page requested */
        page?: InputMaybe<Scalars['Float']['input']>;
        /** Results per page */
        pageSize?: InputMaybe<Scalars['Float']['input']>;
        /** Document tax number */
        number?: InputMaybe<Scalars['String']['input']>;
        /** Document type */
        type?: InputMaybe<Array<InputMaybe<DocumentType>>>;
        /** Document status */
        status?: InputMaybe<Array<InputMaybe<queryInput_searchDocuments_input_status_items>>>;
        /** Payment types used in this document */
        paymentTypes?: InputMaybe<Array<InputMaybe<queryInput_searchDocuments_input_paymentTypes_items>>>;
        /** Documents that were created after the specified date in the format YYYY-MM-DD */
        fromDate?: InputMaybe<Scalars['String']['input']>;
        /** Documents that were created until the specified date in the format YYYY-MM-DD */
        toDate?: InputMaybe<Scalars['String']['input']>;
        /** Client ID */
        clientId?: InputMaybe<Scalars['String']['input']>;
        /** Client name */
        clientName?: InputMaybe<Scalars['String']['input']>;
        /** Document description */
        description?: InputMaybe<Scalars['String']['input']>;
        /** Whether document was downloaded by client */
        download?: InputMaybe<Scalars['Boolean']['input']>;
        sort?: InputMaybe<queryInput_searchDocuments_input_sort>;
    };
    type queryInput_searchDocuments_input_status_items = '_0' | '_1' | '_2' | '_3' | '_4';
    type queryInput_searchDocuments_input_paymentTypes_items = 'NEGATIVE_1' | '_0' | '_1' | '_2' | '_3' | '_4' | '_5' | '_10' | '_11';
    type queryInput_searchDocuments_input_sort = 'documentDate' | 'creationDate';
    type searchExpenseDrafts_response = searchExpenseDraftsResponse | generalErrorResponse;
    type searchExpenseDraftsResponse = {
        /** The total length of the items that were retrieved */
        total: Scalars['Float']['output'];
        from?: Maybe<Scalars['Float']['output']>;
        to?: Maybe<Scalars['Float']['output']>;
        /** The page that was requested to retrieve */
        page: Scalars['Float']['output'];
        /** The page size that was requested */
        pageSize: Scalars['Float']['output'];
        /** The amount of pages that exist */
        pages: Scalars['Float']['output'];
        aggregations: query_searchExpenseDrafts_oneOf_0_aggregations;
        /** The expense drafts that were found */
        items: Array<Maybe<query_searchExpenseDrafts_oneOf_0_items_items>>;
    };
    type query_searchExpenseDrafts_oneOf_0_aggregations = {
        totalAmount: query_searchExpenseDrafts_oneOf_0_aggregations_totalAmount;
    };
    type query_searchExpenseDrafts_oneOf_0_aggregations_totalAmount = {
        value: Scalars['Float']['output'];
    };
    /** Partial Expense */
    type query_searchExpenseDrafts_oneOf_0_items_items = {
        id: Scalars['String']['output'];
        status: Scalars['Float']['output'];
        /** The creation date, in UNIX timestamp format */
        creationDate: Scalars['Int']['output'];
        lastUpdateDate: Scalars['Float']['output'];
        reportingPeriod: Scalars['String']['output'];
        hasDefaultValues: Scalars['Boolean']['output'];
        url: Scalars['String']['output'];
        thumbnail: Scalars['String']['output'];
        expense: query_searchExpenseDrafts_oneOf_0_items_items_expense;
    };
    type query_searchExpenseDrafts_oneOf_0_items_items_expense = {
        accountingClassification: AccountingClassification;
        /** Is the expense active or not */
        active: Scalars['Boolean']['output'];
        /** Should we save the supplier or not (by setting this to true you are required to add a supplier) */
        addRecipient: Scalars['Boolean']['output'];
        /** The total amount of the expense */
        amount?: Maybe<Scalars['Float']['output']>;
        confirmFromEdit: Scalars['Boolean']['output'];
        currency: Currency;
        /** Currency rate relative to ILS */
        currencyRate: Scalars['Float']['output'];
        /** Date of the expense */
        date?: Maybe<Scalars['String']['output']>;
        /** Description for the expense */
        description: Scalars['String']['output'];
        documentType: ExpenseDocumentType;
        /** File hash */
        fileHash: Scalars['String']['output'];
        /** Key of the file location */
        fileKey: Scalars['String']['output'];
        labels: Array<Maybe<Scalars['String']['output']>>;
        /** Number of the expense */
        number?: Maybe<Scalars['String']['output']>;
        paymentType?: Maybe<query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType>;
        /** Reporting date of the expense */
        reportingDate: Scalars['String']['output'];
        supplier: Supplier;
        tags: Array<Maybe<Scalars['String']['output']>>;
        texts: Array<Maybe<Scalars['String']['output']>>;
        /** VAT amount */
        vat: Scalars['Float']['output'];
    };
    /** Payment method */
    type query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType = Boolean_container | query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType_oneOf_1_container;
    type Boolean_container = {
        Boolean?: Maybe<Scalars['Boolean']['output']>;
    };
    type query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType_oneOf_1_container = {
        query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType_oneOf_1?: Maybe<query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType_oneOf_1>;
    };
    type query_searchExpenseDrafts_oneOf_0_items_items_expense_paymentType_oneOf_1 = '_1' | '_2' | '_3' | '_4' | '_5' | '_10' | '_11';
    type generalErrorResponse = {
        errorCode_?: Maybe<Scalars['Int']['output']>;
        errorMessage?: Maybe<Scalars['String']['output']>;
    };
    type searchExpenseDraftsRequest_Input = {
        /** Expense drafts that were created after the specified date in the format YYYY-MM-DD */
        fromDate?: InputMaybe<Scalars['String']['input']>;
        /** Expense drafts that were created until the specified date in the format YYYY-MM-DD */
        toDate?: InputMaybe<Scalars['String']['input']>;
        /** Expense draft description */
        description?: InputMaybe<Scalars['String']['input']>;
        /** Supplier's ID */
        supplierId?: InputMaybe<Scalars['String']['input']>;
        /** Supplier's name */
        supplierName?: InputMaybe<Scalars['String']['input']>;
        /** Page requested */
        page?: InputMaybe<Scalars['Float']['input']>;
        /** Results per page */
        pageSize?: InputMaybe<Scalars['Float']['input']>;
    };
    type GetLinkedDocuments = {
        /** Total amount, in requested currency (including the VAT, Discount & Rounding) */
        amount?: Maybe<Scalars['Float']['output']>;
        currency?: Maybe<Currency>;
        /** Currency rate relative to ILS */
        currencyRate?: Maybe<Scalars['Float']['output']>;
        /** Document reference date */
        documentDate?: Maybe<Scalars['String']['output']>;
        /** Document ID */
        id?: Maybe<Scalars['String']['output']>;
        /** Document tax number */
        number?: Maybe<Scalars['String']['output']>;
        /** Document status */
        status?: Maybe<Scalars['Float']['output']>;
        type?: Maybe<DocumentType>;
    };
    type getClientResponse = {
        /** The client ID */
        id?: Maybe<Scalars['String']['output']>;
        /** The client name */
        name?: Maybe<Scalars['String']['output']>;
        /** Is the client currently active or not */
        active?: Maybe<Scalars['Boolean']['output']>;
        /** The client tax ID */
        taxId?: Maybe<Scalars['String']['output']>;
        paymentTerms?: Maybe<query_getClient_paymentTerms>;
        /** The client bank name */
        bankName?: Maybe<Scalars['String']['output']>;
        /** The client bank branch */
        bankBranch?: Maybe<Scalars['String']['output']>;
        /** The supplier bank account number */
        bankAccount?: Maybe<Scalars['String']['output']>;
        country?: Maybe<Country>;
        phone?: Maybe<Scalars['String']['output']>;
        /** The supplier mobile number */
        mobile?: Maybe<Scalars['String']['output']>;
        /** The supplier contact person name */
        contactPerson?: Maybe<Scalars['String']['output']>;
        emails?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
        labels?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
        /** The creation date, in UNIX timestamp format */
        creationDate?: Maybe<Scalars['Int']['output']>;
        /** The last update date of the supplier, in UNIX timestamp format */
        lastUpdateDate?: Maybe<Scalars['Int']['output']>;
        /** Whether to send emails to the user automatically when assigning him to an invoice or not */
        send?: Maybe<Scalars['Boolean']['output']>;
        /** The supplier department */
        department?: Maybe<Scalars['String']['output']>;
        /** The supplier accounting key */
        accountingKey?: Maybe<Scalars['String']['output']>;
        /** The supplier address */
        address?: Maybe<Scalars['String']['output']>;
        /** The supplier city */
        city?: Maybe<Scalars['String']['output']>;
        /** The supplier zip code */
        zip?: Maybe<Scalars['String']['output']>;
        /** The category this client is related to */
        category?: Maybe<Scalars['Int']['output']>;
        /** The sub category this client is related to */
        subCategory?: Maybe<Scalars['Int']['output']>;
        /** Client fax */
        fax?: Maybe<Scalars['String']['output']>;
        /** Client remarks for self use */
        remarks?: Maybe<Scalars['String']['output']>;
        /** The amount of incomes from the customer */
        incomeAmount?: Maybe<Scalars['Float']['output']>;
        paymentAmount?: Maybe<Scalars['Float']['output']>;
        /** The balance amount of the client */
        balanceAmount?: Maybe<Scalars['Float']['output']>;
    };
    /** The client payment term, default is 0 */
    type query_getClient_paymentTerms = 'NEGATIVE_1' | '_0' | '_10' | '_15' | '_30' | '_45' | '_60' | '_75' | '_90' | '_120';
    type Mutation = {
        addExpense?: Maybe<addExpenseResponse>;
        addDocument?: Maybe<addDocumentResponse>;
        updateExpense?: Maybe<updateExpenseResponse>;
        addExpenseDraftByFile?: Maybe<addExpenseDraftByFile_response>;
        closeDocument?: Maybe<Scalars['JSON']['output']>;
    };
    type MutationaddExpenseArgs = {
        input?: InputMaybe<Expense_Input>;
    };
    type MutationaddDocumentArgs = {
        input?: InputMaybe<addDocumentRequest_Input>;
    };
    type MutationupdateExpenseArgs = {
        id?: InputMaybe<Scalars['String']['input']>;
        input?: InputMaybe<updateExpenseRequest_Input>;
    };
    type MutationaddExpenseDraftByFileArgs = {
        input?: InputMaybe<addExpenseDraftByFileRequest_Input>;
    };
    type MutationcloseDocumentArgs = {
        id: Scalars['String']['input'];
    };
    type addExpenseResponse = Expense | ErrorResponse;
    type Expense = {
        paymentType?: Maybe<mutation_addExpense_oneOf_0_allOf_0_paymentType>;
        currency: Scalars['JSON']['output'];
        /** Currency rate relative to ILS */
        currencyRate?: Maybe<Scalars['Float']['output']>;
        vat: Scalars['JSON']['output'];
        amount: Scalars['JSON']['output'];
        date: Scalars['JSON']['output'];
        /** Due date of the expense */
        dueDate?: Maybe<Scalars['String']['output']>;
        reportingDate: Scalars['JSON']['output'];
        documentType: Scalars['JSON']['output'];
        number: Scalars['JSON']['output'];
        /** Description for the expense */
        description?: Maybe<Scalars['String']['output']>;
        remarks?: Maybe<Scalars['String']['output']>;
        supplier: Scalars['JSON']['output'];
        accountingClassification: Scalars['JSON']['output'];
        /** Is the expense active or not */
        active?: Maybe<Scalars['Boolean']['output']>;
        /** Should we save the supplier or not (by setting this to true you are required to add a supplier) */
        addRecipient?: Maybe<Scalars['Boolean']['output']>;
        /** Should we save the accounting classification (by setting this to true you are required to add an accounting classification that contains title & irsCode) */
        addAccountingClassification?: Maybe<Scalars['Boolean']['output']>;
    };
    /** Payment method */
    type mutation_addExpense_oneOf_0_allOf_0_paymentType = Boolean_container | mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1_container;
    type mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1_container = {
        mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1?: Maybe<mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1>;
    };
    type mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1 = '_1' | '_2' | '_3' | '_4' | '_5' | '_10' | '_11';
    type Expense_Input = {
        paymentType?: InputMaybe<mutation_addExpense_oneOf_0_allOf_0_paymentType_Input>;
        currency: Scalars['JSON']['input'];
        /** Currency rate relative to ILS */
        currencyRate?: InputMaybe<Scalars['Float']['input']>;
        vat: Scalars['JSON']['input'];
        amount: Scalars['JSON']['input'];
        date: Scalars['JSON']['input'];
        /** Due date of the expense */
        dueDate?: InputMaybe<Scalars['String']['input']>;
        reportingDate: Scalars['JSON']['input'];
        documentType: Scalars['JSON']['input'];
        number: Scalars['JSON']['input'];
        /** Description for the expense */
        description?: InputMaybe<Scalars['String']['input']>;
        remarks?: InputMaybe<Scalars['String']['input']>;
        supplier: Scalars['JSON']['input'];
        accountingClassification: Scalars['JSON']['input'];
        /** Is the expense active or not */
        active?: InputMaybe<Scalars['Boolean']['input']>;
        /** Should we save the supplier or not (by setting this to true you are required to add a supplier) */
        addRecipient?: InputMaybe<Scalars['Boolean']['input']>;
        /** Should we save the accounting classification (by setting this to true you are required to add an accounting classification that contains title & irsCode) */
        addAccountingClassification?: InputMaybe<Scalars['Boolean']['input']>;
    };
    type mutation_addExpense_oneOf_0_allOf_0_paymentType_Input = {
        Boolean: Scalars['Boolean']['input'];
        mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1?: never;
    } | {
        Boolean?: never;
        mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1: mutation_addExpense_oneOf_0_allOf_0_paymentType_oneOf_1;
    };
    type addDocumentResponse = AddedDocument | ErrorResponse;
    type AddedDocument = {
        /** Document ID */
        id: Scalars['String']['output'];
        lang: DocumentLang;
        /** Document serial number */
        number: Scalars['Int']['output'];
        /** Digital sign the document */
        signed: Scalars['Boolean']['output'];
        url: Url;
    };
    /** Add a document to the current business */
    type addDocumentRequest_Input = {
        /** Document's description */
        description?: InputMaybe<Scalars['String']['input']>;
        remarks?: InputMaybe<Scalars['String']['input']>;
        /** Texts appearing in footer */
        footer?: InputMaybe<Scalars['String']['input']>;
        type: DocumentType;
        /** Document date in the format YYYY-MM-DD */
        date?: InputMaybe<Scalars['String']['input']>;
        /** Document payment due date in the format YYYY-MM-DD */
        dueDate?: InputMaybe<Scalars['String']['input']>;
        lang: DocumentLang;
        currency: Currency;
        vatType: VatType;
        discount?: InputMaybe<DocumentDiscount_Input>;
        /** Round the amounts */
        rounding?: InputMaybe<Scalars['Boolean']['input']>;
        /** Digital sign the document */
        signed?: InputMaybe<Scalars['Boolean']['input']>;
        /** Max payments allowed (valid only on supported accounts) */
        maxPayments?: InputMaybe<Scalars['Int']['input']>;
        client?: InputMaybe<mutationInput_addDocument_input_allOf_0_client_Input>;
        income?: InputMaybe<Array<InputMaybe<Income_Input>>>;
        payment?: InputMaybe<Array<InputMaybe<PaymentDocument_Input>>>;
        /** Linked document IDs. allows you to state the related / relevant documents, e.g.: when creating a receipt, attach your original invoice document ID as one of the ids in the linkedDocumentIds - this in turn will automatically close the original invoice if needed. */
        linkedDocumentIds?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
        /** Linked payment ID (valid for document type 305 only). allows you to define the paymentId that the document is going to be relevant to, this can be attached only to invoice documents (type 305). */
        linkedPaymentId?: InputMaybe<Scalars['String']['input']>;
        linkType?: InputMaybe<mutationInput_addDocument_input_allOf_0_linkType>;
        /** Email content to send with the document */
        emailContent?: InputMaybe<Scalars['String']['input']>;
        /** Whether to attach the document to the email */
        attachment?: InputMaybe<Scalars['Boolean']['input']>;
    };
    type updateExpenseResponse = GetExpense | ErrorResponse;
    type updateExpenseRequest_Input = {
        /** The expense ID */
        id: Scalars['String']['input'];
        paymentType?: InputMaybe<mutationInput_updateExpense_input_paymentType_Input>;
        currency?: InputMaybe<Currency>;
        /** Currency rate relative to ILS */
        currencyRate?: InputMaybe<Scalars['Float']['input']>;
        /** VAT amount */
        vat?: InputMaybe<Scalars['Float']['input']>;
        /** The total amount of the expense */
        amount?: InputMaybe<Scalars['Float']['input']>;
        /** Date of the expense */
        date?: InputMaybe<Scalars['String']['input']>;
        /** Due date of the expense */
        dueDate?: InputMaybe<Scalars['String']['input']>;
        /** Reporting date of the expense */
        reportingDate?: InputMaybe<Scalars['String']['input']>;
        documentType?: InputMaybe<ExpenseDocumentType>;
        /** Number of the expense */
        number?: InputMaybe<Scalars['String']['input']>;
        /** Description for the expense */
        description?: InputMaybe<Scalars['String']['input']>;
        remarks?: InputMaybe<Scalars['String']['input']>;
        supplier?: InputMaybe<Supplier_Input>;
        accountingClassification?: InputMaybe<AccountingClassification_Input>;
        /** Is the expense active or not */
        active?: InputMaybe<Scalars['Boolean']['input']>;
    };
    type mutationInput_updateExpense_input_paymentType_Input = {
        Boolean: Scalars['Boolean']['input'];
        mutationInput_updateExpense_input_paymentType_oneOf_1?: never;
    } | {
        Boolean?: never;
        mutationInput_updateExpense_input_paymentType_oneOf_1: mutationInput_updateExpense_input_paymentType_oneOf_1;
    };
    type mutationInput_updateExpense_input_paymentType_oneOf_1 = '_1' | '_2' | '_3' | '_4' | '_5' | '_10' | '_11';
    /** Supplier of the expense */
    type Supplier_Input = {
        /** The supplier ID */
        id?: InputMaybe<Scalars['String']['input']>;
        /** The supplier name */
        name?: InputMaybe<Scalars['String']['input']>;
        /** Is the supplier active or not */
        active?: InputMaybe<Scalars['Boolean']['input']>;
        /** The supplier tax ID */
        taxId?: InputMaybe<Scalars['String']['input']>;
        paymentTerms?: InputMaybe<mutation_addExpense_oneOf_0_allOf_0_supplier_paymentTerms>;
        /** The supplier bank name */
        bankName?: InputMaybe<Scalars['String']['input']>;
        /** The supplier bank branch number */
        bankBranch?: InputMaybe<Scalars['String']['input']>;
        /** The supplier bank account number */
        bankAccount?: InputMaybe<Scalars['String']['input']>;
        country?: InputMaybe<Country>;
        /** The supplier phone number */
        phone?: InputMaybe<Scalars['String']['input']>;
        /** The supplier mobile number */
        mobile?: InputMaybe<Scalars['String']['input']>;
        /** The supplier contact person name */
        contactPerson?: InputMaybe<Scalars['String']['input']>;
        emails?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
        labels?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
        /** The creation date, in UNIX timestamp format */
        creationDate?: InputMaybe<Scalars['Int']['input']>;
        /** The last update date of the supplier, in UNIX timestamp format */
        lastUpdateDate?: InputMaybe<Scalars['Int']['input']>;
        /** The supplier department */
        department?: InputMaybe<Scalars['String']['input']>;
        /** The supplier accounting key */
        accountingKey?: InputMaybe<Scalars['String']['input']>;
        /** The supplier address */
        address?: InputMaybe<Scalars['String']['input']>;
        /** The supplier city */
        city?: InputMaybe<Scalars['String']['input']>;
        /** The supplier zip code */
        zip?: InputMaybe<Scalars['String']['input']>;
        /** The supplier fax number */
        fax?: InputMaybe<Scalars['String']['input']>;
        /** The Supplier remarks for self use */
        remarks?: InputMaybe<Scalars['String']['input']>;
        /** The amount of incomes from the customer */
        incomeAmount?: InputMaybe<Scalars['Float']['input']>;
        paymentAmount?: InputMaybe<Scalars['Float']['input']>;
        /** The balance amount of the supplier */
        balanceAmount?: InputMaybe<Scalars['Float']['input']>;
    };
    /** Account classification of the expense */
    type AccountingClassification_Input = {
        /** The classification ID, see 'Get Accounting Classifications' endpoint */
        id?: InputMaybe<Scalars['String']['input']>;
        /** The classification key */
        key?: InputMaybe<Scalars['String']['input']>;
        /** The classification code */
        code?: InputMaybe<Scalars['String']['input']>;
        /** The classification title */
        title?: InputMaybe<Scalars['String']['input']>;
        irsCode?: InputMaybe<mutation_addExpense_oneOf_0_allOf_0_accountingClassification_irsCode>;
        /** The classification income */
        income?: InputMaybe<Scalars['Float']['input']>;
        /** The classification type */
        type?: InputMaybe<Scalars['Float']['input']>;
        /** The classification VAT */
        vat?: InputMaybe<Scalars['Float']['input']>;
    };
    type addExpenseDraftByFile_response = GetExpenseDraft | generalErrorResponse;
    type GetExpenseDraft = {
        /** The expense draft ID */
        id?: Maybe<Scalars['String']['output']>;
        status?: Maybe<mutation_addExpenseDraftByFile_oneOf_0_status>;
        /** The creation date, in UNIX timestamp format */
        creationDate?: Maybe<Scalars['Int']['output']>;
        /** The last update date of the expense draft, in UNIX timestamp format */
        lastUpdateDate?: Maybe<Scalars['Int']['output']>;
        expense?: Maybe<ExpensePartial>;
        /** URL of expense thumbnail */
        thumbnail?: Maybe<Scalars['String']['output']>;
        /** URL to download the expense thumbnail */
        url?: Maybe<Scalars['String']['output']>;
    };
    /** The status of the expense draft */
    type mutation_addExpenseDraftByFile_oneOf_0_status = '_10' | '_50';
    /** A Single Expense */
    type ExpensePartial = {
        paymentType?: Maybe<mutation_addExpense_oneOf_0_allOf_0_paymentType>;
        currency?: Maybe<Currency>;
        /** Currency rate relative to ILS */
        currencyRate?: Maybe<Scalars['Float']['output']>;
        /** VAT amount */
        vat?: Maybe<Scalars['Float']['output']>;
        /** The total amount of the expense */
        amount?: Maybe<Scalars['Float']['output']>;
        /** Date of the expense */
        date?: Maybe<Scalars['String']['output']>;
        /** Due date of the expense */
        dueDate?: Maybe<Scalars['String']['output']>;
        /** Reporting date of the expense */
        reportingDate?: Maybe<Scalars['String']['output']>;
        documentType?: Maybe<ExpenseDocumentType>;
        /** Number of the expense */
        number?: Maybe<Scalars['String']['output']>;
        /** Description for the expense */
        description?: Maybe<Scalars['String']['output']>;
        remarks?: Maybe<Scalars['String']['output']>;
        supplier?: Maybe<Supplier>;
        accountingClassification?: Maybe<AccountingClassification>;
        /** Is the expense active or not */
        active?: Maybe<Scalars['Boolean']['output']>;
        /** Should we save the supplier or not (by setting this to true you are required to add a supplier) */
        addRecipient?: Maybe<Scalars['Boolean']['output']>;
        /** Should we save the accounting classification (by setting this to true you are required to add an accounting classification that contains title & irsCode) */
        addAccountingClassification?: Maybe<Scalars['Boolean']['output']>;
    };
    type addExpenseDraftByFileRequest_Input = {
        /** The file, in Base64, allowed types: GIF, PNG, JPG, SVG, PDF */
        file?: InputMaybe<Scalars['String']['input']>;
    };
    type HTTPMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
    type QuerySdk = {
        /** undefined **/
        previewDocument: InContextSdkMethod<query_previewDocument_oneOf_0 | ErrorResponse, QuerypreviewDocumentArgs, MeshContext>;
        /** undefined **/
        getExpense: InContextSdkMethod<Query['getExpense'], QuerygetExpenseArgs, MeshContext>;
        /** undefined **/
        searchExpenses: InContextSdkMethod<Query['searchExpenses'], QuerysearchExpensesArgs, MeshContext>;
        /** undefined **/
        searchDocuments: InContextSdkMethod<Query['searchDocuments'], QuerysearchDocumentsArgs, MeshContext>;
        /** undefined **/
        searchExpenseDrafts: InContextSdkMethod<searchExpenseDraftsResponse | generalErrorResponse, QuerysearchExpenseDraftsArgs, MeshContext>;
        /** undefined **/
        getDocument: InContextSdkMethod<Query['getDocument'], QuerygetDocumentArgs, MeshContext>;
        /** undefined **/
        getLinkedDocuments: InContextSdkMethod<Query['getLinkedDocuments'], QuerygetLinkedDocumentsArgs, MeshContext>;
        /** undefined **/
        getClient: InContextSdkMethod<Query['getClient'], QuerygetClientArgs, MeshContext>;
    };
    type MutationSdk = {
        /** undefined **/
        addExpense: InContextSdkMethod<Expense | ErrorResponse, MutationaddExpenseArgs, MeshContext>;
        /** undefined **/
        addDocument: InContextSdkMethod<AddedDocument | ErrorResponse, MutationaddDocumentArgs, MeshContext>;
        /** undefined **/
        updateExpense: InContextSdkMethod<GetExpense | ErrorResponse, MutationupdateExpenseArgs, MeshContext>;
        /** undefined **/
        addExpenseDraftByFile: InContextSdkMethod<GetExpenseDraft | generalErrorResponse, MutationaddExpenseDraftByFileArgs, MeshContext>;
        /** undefined **/
        closeDocument: InContextSdkMethod<Mutation['closeDocument'], MutationcloseDocumentArgs, MeshContext>;
    };
    type SubscriptionSdk = {};
    type Context = {
        ["GreenInvoice"]: {
            Query: QuerySdk;
            Mutation: MutationSdk;
            Subscription: SubscriptionSdk;
        };
    };
}