/** Models an account listed in a Chart Of Accounts. */ export declare class Account implements IAccount { /** A set of classifications for the account used for financial analysis. */ classification: AccountClassification[]; /** A description of the account. */ description?: string | undefined; /** An identifier for the account, unique within the scope of the Chart Of Accounts associated with this account. */ id: string; kind: AccountKind; /** A friendly name for the account. */ name: string; role: ChartOfAccountsRole; /** A hierarchical representation of any sub-accounts that are associated with this account. Sub-accounts are used to organize the Chart of Accounts for reporting purposes and may manifest themselves as subtotals in the presentaton of Financial Statements. */ subaccounts: Account[]; /** A human-friendly alpha-numeric code or number as originally assigned to the account by the bookkeeper. If provided, this value may be helpful for classification, sorting, or as a secondary identifier for the account. */ userAssignedCode?: string | undefined; /** The date on which the account was created, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ creationDate?: string | undefined; /** The date on which the account was last modified, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ lastModifiedDate?: string | undefined; constructor(data?: IAccount); init(_data?: any): void; static fromJS(data: any): Account; toJSON(data?: any): any; clone(): Account; } /** Models an account listed in a Chart Of Accounts. */ export interface IAccount { /** A set of classifications for the account used for financial analysis. */ classification: AccountClassification[]; /** A description of the account. */ description?: string | undefined; /** An identifier for the account, unique within the scope of the Chart Of Accounts associated with this account. */ id: string; kind: AccountKind; /** A friendly name for the account. */ name: string; role: ChartOfAccountsRole; /** A hierarchical representation of any sub-accounts that are associated with this account. Sub-accounts are used to organize the Chart of Accounts for reporting purposes and may manifest themselves as subtotals in the presentaton of Financial Statements. */ subaccounts: Account[]; /** A human-friendly alpha-numeric code or number as originally assigned to the account by the bookkeeper. If provided, this value may be helpful for classification, sorting, or as a secondary identifier for the account. */ userAssignedCode?: string | undefined; /** The date on which the account was created, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ creationDate?: string | undefined; /** The date on which the account was last modified, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ lastModifiedDate?: string | undefined; } /** Models a classification for an account. */ export declare class AccountClassification implements IAccountClassification { /** An identifier for the account classification within the scope of the associated taxonomy. */ classificationId: string; /** The taxonomy in which the account classification is defined. */ taxonomyId: string; constructor(data?: IAccountClassification); init(_data?: any): void; static fromJS(data: any): AccountClassification; toJSON(data?: any): any; clone(): AccountClassification; } /** Models a classification for an account. */ export interface IAccountClassification { /** An identifier for the account classification within the scope of the associated taxonomy. */ classificationId: string; /** The taxonomy in which the account classification is defined. */ taxonomyId: string; } /** Models options for importing accounting data. */ export declare class AccountingDataImportParameters implements IAccountingDataImportParameters { /** Used to specify privacy controls to be applied to the imported financial data. The default if not specified is no privacy controls enabled. */ privacyControls?: PrivacyControl[] | undefined; transactions?: TransactionImportOptions; financialStatements?: FinancialStatementImportOptions; receivables?: ReceivablesAndPayablesOptions; payables?: ReceivablesAndPayablesOptions; constructor(data?: IAccountingDataImportParameters); init(_data?: any): void; static fromJS(data: any): AccountingDataImportParameters; toJSON(data?: any): any; clone(): AccountingDataImportParameters; } /** Models options for importing accounting data. */ export interface IAccountingDataImportParameters { /** Used to specify privacy controls to be applied to the imported financial data. The default if not specified is no privacy controls enabled. */ privacyControls?: PrivacyControl[] | undefined; transactions?: TransactionImportOptions; financialStatements?: FinancialStatementImportOptions; receivables?: ReceivablesAndPayablesOptions; payables?: ReceivablesAndPayablesOptions; } /** Models the organization for which accounting and other financial data was prepared. */ export declare class AccountingEntity implements IAccountingEntity { baseCurrency?: Currency; fiscalYearEnd?: YearEnd; homeCountry?: Country; taxYearEnd?: YearEnd; /** A list of addresses. */ addresses: Address[]; /** A list of emails. */ emails: EmailAddress[]; /** A list of identifiers. */ identifiers: Identifier[]; /** A list of names. */ names: OrganizationName[]; /** A list of other contact methods. */ otherContactMethods: OtherContactMethod[]; /** A list of phone numbers. */ phoneNumbers: PhoneNumber[]; /** A list of websites. */ websites: Website[]; constructor(data?: IAccountingEntity); init(_data?: any): void; static fromJS(data: any): AccountingEntity; toJSON(data?: any): any; clone(): AccountingEntity; } /** Models the organization for which accounting and other financial data was prepared. */ export interface IAccountingEntity { baseCurrency?: Currency; fiscalYearEnd?: YearEnd; homeCountry?: Country; taxYearEnd?: YearEnd; /** A list of addresses. */ addresses: Address[]; /** A list of emails. */ emails: EmailAddress[]; /** A list of identifiers. */ identifiers: Identifier[]; /** A list of names. */ names: OrganizationName[]; /** A list of other contact methods. */ otherContactMethods: OtherContactMethod[]; /** A list of phone numbers. */ phoneNumbers: PhoneNumber[]; /** A list of websites. */ websites: Website[]; } /** Models options for importing accounting data. */ export declare class AccountingImportOptions implements IAccountingImportOptions { /** Used to specify privacy controls to be applied to the imported financial data. */ privacyControls: PrivacyControl[]; transactions: TransactionImportOptions; financialStatements: FinancialStatementImportOptions; receivables: ReceivablesAndPayablesOptions; payables: ReceivablesAndPayablesOptions; constructor(data?: IAccountingImportOptions); init(_data?: any): void; static fromJS(data: any): AccountingImportOptions; toJSON(data?: any): any; clone(): AccountingImportOptions; } /** Models options for importing accounting data. */ export interface IAccountingImportOptions { /** Used to specify privacy controls to be applied to the imported financial data. */ privacyControls: PrivacyControl[]; transactions: TransactionImportOptions; financialStatements: FinancialStatementImportOptions; receivables: ReceivablesAndPayablesOptions; payables: ReceivablesAndPayablesOptions; } /** The kind of an account can be either real or nominal. |Enum Value|Description| |--|--| |Real|Real or permanent account balances carry over to the next fiscal year. This includes Asset, Liability, and Equity accounts.| |Nominal|Nominal accounts are reset at the end of each fiscal year. This includes Revenue and Expense accounts.| */ export type AccountKind = "Real" | "Nominal"; /** A reference to an account for which full details can be found in the Chart Of Accounts. */ export declare class AccountReference implements IAccountReference { /** An identifier for an account in the Chart Of Accounts. */ accountId: string; constructor(data?: IAccountReference); init(_data?: any): void; static fromJS(data: any): AccountReference; toJSON(data?: any): any; clone(): AccountReference; } /** A reference to an account for which full details can be found in the Chart Of Accounts. */ export interface IAccountReference { /** An identifier for an account in the Chart Of Accounts. */ accountId: string; } /** Models the starting, ending, and total change in account balance for a specific account. */ export declare class AccountSummary implements IAccountSummary { /** An identifier for the account. */ accountId: string; endingBalance: DoubleEntryAmount; netChange: DoubleEntryAmount; startingBalance: DoubleEntryAmount; constructor(data?: IAccountSummary); init(_data?: any): void; static fromJS(data: any): AccountSummary; toJSON(data?: any): any; clone(): AccountSummary; } /** Models the starting, ending, and total change in account balance for a specific account. */ export interface IAccountSummary { /** An identifier for the account. */ accountId: string; endingBalance: DoubleEntryAmount; netChange: DoubleEntryAmount; startingBalance: DoubleEntryAmount; } /** Account Totals model the starting, ending, and total change in account balance by reporting period. */ export declare class AccountTotals implements IAccountTotals { /** Totals for each account by reporting period. */ reportedTotals: ReportedAccountTotals[]; reportingPeriod: ReportingPeriod; constructor(data?: IAccountTotals); init(_data?: any): void; static fromJS(data: any): AccountTotals; toJSON(data?: any): any; clone(): AccountTotals; } /** Account Totals model the starting, ending, and total change in account balance by reporting period. */ export interface IAccountTotals { /** Totals for each account by reporting period. */ reportedTotals: ReportedAccountTotals[]; reportingPeriod: ReportingPeriod; } /** Models a mailing address. */ export declare class Address implements IAddress { /** Specific parts of the address that have been identified. The set of Components does not necessarily provide a complete representation of the address. */ components: AddressComponent[]; /** A complete representation of the address without any implied structure or formatting. */ freeFormLines: string[]; /** A set of tags for the address intended to identify how the address is used. */ tags: AddressTag[]; constructor(data?: IAddress); init(_data?: any): void; static fromJS(data: any): Address; toJSON(data?: any): any; clone(): Address; } /** Models a mailing address. */ export interface IAddress { /** Specific parts of the address that have been identified. The set of Components does not necessarily provide a complete representation of the address. */ components: AddressComponent[]; /** A complete representation of the address without any implied structure or formatting. */ freeFormLines: string[]; /** A set of tags for the address intended to identify how the address is used. */ tags: AddressTag[]; } /** Models a part of an address that has been identified. */ export declare class AddressComponent implements IAddressComponent { type: ComponentOfAddress; /** A value for the part of the address that has been identified with no implied formatting. */ value: string; constructor(data?: IAddressComponent); init(_data?: any): void; static fromJS(data: any): AddressComponent; toJSON(data?: any): any; clone(): AddressComponent; } /** Models a part of an address that has been identified. */ export interface IAddressComponent { type: ComponentOfAddress; /** A value for the part of the address that has been identified with no implied formatting. */ value: string; } /** Defines a set of tags providing additional information about an address. |Enum Value|Description| |--|--| |POBox|The address represents a postal box rather than a physical address.| |Shipping|The address is used for delivery or receipt of products.| |Contact|The address is used as a public contact address.| |Invoicing|The address is used for invoicing.| |Legal|The address is used for legal purposes.| |Billing|The address is used for billing purposes.| */ export type AddressTag = "POBox" | "Shipping" | "Contact" | "Invoicing" | "Legal" | "Billing"; /** This response may be used to describe a client error when returning a 400 HTTP status code. */ export declare class BadRequest implements IBadRequest { /** A description of the client error. */ description: string; /** The name of the parameter that was invalid, if applicable. May be null or omitted. */ parameter?: string | undefined; constructor(data?: IBadRequest); init(_data?: any): void; static fromJS(data: any): BadRequest; toJSON(data?: any): any; clone(): BadRequest; } /** This response may be used to describe a client error when returning a 400 HTTP status code. */ export interface IBadRequest { /** A description of the client error. */ description: string; /** The name of the parameter that was invalid, if applicable. May be null or omitted. */ parameter?: string | undefined; } /** Models options for selecting the base figures to use when running a vertical analysis against the Balance Sheet. |Enum Value|Description| |--|--| |TotalAssets|All line items are compared against Total Assets.| |TotalAssetsTotalLiabilitiesAndTotalEquity|All assets are compared against Total Assets, all liabilities against Total Liabilities, and all equity accounts are compared against Total Equity.| */ export type BalanceSheetBaseFigures = "TotalAssets" | "TotalAssetsTotalLiabilitiesAndTotalEquity"; /** A Vertical Analysis of Balance Sheet line items. */ export declare class BalanceSheetVerticalAnalysis implements IBalanceSheetVerticalAnalysis { baseFigures: BalanceSheetBaseFigures; /** Vertical Analysis comparative data by line item. */ lineItems: VerticalAnalysisLineItem[]; constructor(data?: IBalanceSheetVerticalAnalysis); init(_data?: any): void; static fromJS(data: any): BalanceSheetVerticalAnalysis; toJSON(data?: any): any; clone(): BalanceSheetVerticalAnalysis; } /** A Vertical Analysis of Balance Sheet line items. */ export interface IBalanceSheetVerticalAnalysis { baseFigures: BalanceSheetBaseFigures; /** Vertical Analysis comparative data by line item. */ lineItems: VerticalAnalysisLineItem[]; } /** Defines possible options for selecting baseline period(s) to use for a Horizontal Analysis. |Enum Value|Description| |--|--| |YoY|Each full fiscal year is compared to the prior fiscal year.| |YoYAndTTM|Each full fiscal year is compared to the prior fiscal year, and the TTM period is compared to the last closed fiscal year.| |YoYByQuarter|Each fiscal quarter is compared to the same quarter of the prior fiscal year.| |YoYByMonth|Each month is compared to the same month of the prior fiscal year.| |InterimYoY|Each interim year is compared to the previous, where the interim year is defined by the number of months completed in the current fiscal year.| |CalendarYoY|Each calendar year is compared to the prior calendar year.| |CalendarYoYByQuarter|Each quarter is compared to the same quarter of the prior calendar year.| |CalendarYoYByMonth|Each month is compared to the same month of the prior calendar year.| |Rolling12MonthsYoY|Each rolling 12 month period is compared to the previous rolling 12 month period.| |QoQ|Each fiscal quarter is compared to the previous fiscal quarter.| |CalendarQoQ|Each quarter of the calendar year is compared to the previous quarter.| |MoM|Each month is compared to the previous month.| |FirstMonth|Each month is compared to the first available month.| |FirstQuarter|Each fiscal quarter is compared to the first available fiscal quarter.| |FirstCalendarQuarter|Each quarter of the calendar year is compared to the first available quarter.| |FirstYear|Each fiscal year is compared to the first available fiscal year.| |FirstCalendarYear|Each calendar year is compared to the first available calendar year.| |FirstInterimYear|Each interim year is compared to the first available, where the interim year is defined by the number of months completed in the current fiscal year.| |FirstRolling12Months|Each rolling 12 month period is compared to the first available rolling 12 month period.| */ export type BaselinePeriodType = "YoY" | "YoYAndTTM" | "YoYByQuarter" | "YoYByMonth" | "InterimYoY" | "CalendarYoY" | "CalendarYoYByQuarter" | "CalendarYoYByMonth" | "Rolling12MonthsYoY" | "QoQ" | "CalendarQoQ" | "MoM" | "FirstMonth" | "FirstQuarter" | "FirstCalendarQuarter" | "FirstYear" | "FirstCalendarYear" | "FirstInterimYear" | "FirstRolling12Months"; /** Specifies the Basis Of Accounting used to prepare financial data. |Enum Value|Description| |--|--| |Accrual|Import financial data on an accrual basis if possible.| |Cash|Import financial data on a cash basis if possible.| */ export type BasisOfAccounting = "Accrual" | "Cash"; /** Specifies preferences for the Basis Of Accounting to use when importing financial data from an accounting system. |Enum Value|Description| |--|--| |Accrual|Import financial data on an accrual basis if possible.| |Cash|Import financial data on a cash basis if possible.| |CashAndAccrual|Import financial data on both a cash and accrual basis if possible.| */ export type BasisOfAccountingPreference = "Accrual" | "Cash" | "CashAndAccrual"; /** Models an id and name for a person or organization with which the business transacts. For example, a customer, vendor, employee, or shareholder. */ export declare class BusinessRelationship implements IBusinessRelationship { /** An identifier for the business relationship, if specified. */ id?: string | undefined; /** The name associated with the business relationship, if specified. */ name?: string | undefined; constructor(data?: IBusinessRelationship); init(_data?: any): void; static fromJS(data: any): BusinessRelationship; toJSON(data?: any): any; clone(): BusinessRelationship; } /** Models an id and name for a person or organization with which the business transacts. For example, a customer, vendor, employee, or shareholder. */ export interface IBusinessRelationship { /** An identifier for the business relationship, if specified. */ id?: string | undefined; /** The name associated with the business relationship, if specified. */ name?: string | undefined; } /** Models error codes related to issues calculating mathematical formulas. |Enum Value|Description| |--|--| |Unknown|An unexpected error occurred during calculation.| |DivideByZero|Unable to evaluate the formula because divide by zero is not defined.| */ export type CalculationError = "Unknown" | "DivideByZero"; /** Models a Chart Of Accounts, which provides a hierarchical listing of all accounts used for financial reporting. */ export declare class ChartOfAccounts implements IChartOfAccounts { /** A hierarchical representation of the accounts used for financial reporting. */ hierarchy: Account[]; constructor(data?: IChartOfAccounts); init(_data?: any): void; static fromJS(data: any): ChartOfAccounts; toJSON(data?: any): any; clone(): ChartOfAccounts; } /** Models a Chart Of Accounts, which provides a hierarchical listing of all accounts used for financial reporting. */ export interface IChartOfAccounts { /** A hierarchical representation of the accounts used for financial reporting. */ hierarchy: Account[]; } /** Defines how an account appearing in the Chart Of Accounts is used. |Enum Value|Description| |--|--| |Bookkeeping|The account is used to record business transactions. Many accounting systems refer to these as 'Detail Accounts'.| |ReportHeader|The account is used for presentation purposes only. Many accounting systems refer to these accounts as 'Header Accounts'.| */ export type ChartOfAccountsRole = "Bookkeeping" | "ReportHeader"; /** Specifies the desired chronological sort order. |Enum Value|Description| |--|--| |OldestFirst|Older data is ordered before more recent data.| |NewestFirst|More recent data is ordered before older data.| */ export type ChronologicalSortOrder = "OldestFirst" | "NewestFirst"; /** Models a column header for a comparative financial statement. The column header contains information about the reporting period associated with each column. */ export declare class ColumnHeader implements IColumnHeader { /** A label for the column header. For example "FY 2019". */ label?: string | undefined; /** The end date of the reporting period for which the financial data was prepared (inclusive). */ reportingEndDate: string; /** The start date of the reporting period for which the financial data was prepared (inclusive). May be null for point-in-time statements such as the Balance Sheet. */ reportingStartDate?: string | undefined; constructor(data?: IColumnHeader); init(_data?: any): void; static fromJS(data: any): ColumnHeader; toJSON(data?: any): any; clone(): ColumnHeader; } /** Models a column header for a comparative financial statement. The column header contains information about the reporting period associated with each column. */ export interface IColumnHeader { /** A label for the column header. For example "FY 2019". */ label?: string | undefined; /** The end date of the reporting period for which the financial data was prepared (inclusive). */ reportingEndDate: string; /** The start date of the reporting period for which the financial data was prepared (inclusive). May be null for point-in-time statements such as the Balance Sheet. */ reportingStartDate?: string | undefined; } /** Models a Comparative Balance Sheet (aka The Statement of Financial Position). */ export declare class ComparativeBalanceSheet implements IComparativeBalanceSheet { accountingMethod: BasisOfAccounting; /** The column headers contain information about the reporting periods represented in the comparative financial statement. */ columnHeaders: ColumnHeader[]; currency?: Currency; /** An optional set of notes for the financial statement. May be empty. */ footnotes: string[]; /** The set of line items appearing in the financial statement. */ lineItems: LineItem[]; /** The name of the organization associated with the financial statement. May be null. */ organizationName?: string | undefined; /** A whole number indicating if, for example, monetary amounts are represented in actual (1), thousands (1,000), or millions (1,000,000). */ scalingFactor: number; /** The time at which the financial statement was prepared. */ dataAsOfTime: string; /** A title for the financial statement that was prepared. Example: "Balance Sheet". */ title: string; constructor(data?: IComparativeBalanceSheet); init(_data?: any): void; static fromJS(data: any): ComparativeBalanceSheet; toJSON(data?: any): any; clone(): ComparativeBalanceSheet; } /** Models a Comparative Balance Sheet (aka The Statement of Financial Position). */ export interface IComparativeBalanceSheet { accountingMethod: BasisOfAccounting; /** The column headers contain information about the reporting periods represented in the comparative financial statement. */ columnHeaders: ColumnHeader[]; currency?: Currency; /** An optional set of notes for the financial statement. May be empty. */ footnotes: string[]; /** The set of line items appearing in the financial statement. */ lineItems: LineItem[]; /** The name of the organization associated with the financial statement. May be null. */ organizationName?: string | undefined; /** A whole number indicating if, for example, monetary amounts are represented in actual (1), thousands (1,000), or millions (1,000,000). */ scalingFactor: number; /** The time at which the financial statement was prepared. */ dataAsOfTime: string; /** A title for the financial statement that was prepared. Example: "Balance Sheet". */ title: string; } /** Models a Comparative Income Statement (aka The Profit and Loss Statement). */ export declare class ComparativeIncomeStatement implements IComparativeIncomeStatement { accountingMethod: BasisOfAccounting; /** The column headers contain information about the reporting periods represented in the comparative financial statement. */ columnHeaders: ColumnHeader[]; currency?: Currency; /** An optional set of notes for the financial statement. May be empty. */ footnotes: string[]; /** The set of line items appearing in the financial statement. */ lineItems: LineItem[]; /** The name of the organization associated with the financial statement. May be null. */ organizationName?: string | undefined; /** A whole number indicating if, for example, monetary amounts are represented in actual (1), thousands (1,000), or millions (1,000,000). */ scalingFactor: number; /** The time at which the financial statement was prepared. */ dataAsOfTime: string; /** A title for the financial statement that was prepared. Example: "Balance Sheet". */ title: string; constructor(data?: IComparativeIncomeStatement); init(_data?: any): void; static fromJS(data: any): ComparativeIncomeStatement; toJSON(data?: any): any; clone(): ComparativeIncomeStatement; } /** Models a Comparative Income Statement (aka The Profit and Loss Statement). */ export interface IComparativeIncomeStatement { accountingMethod: BasisOfAccounting; /** The column headers contain information about the reporting periods represented in the comparative financial statement. */ columnHeaders: ColumnHeader[]; currency?: Currency; /** An optional set of notes for the financial statement. May be empty. */ footnotes: string[]; /** The set of line items appearing in the financial statement. */ lineItems: LineItem[]; /** The name of the organization associated with the financial statement. May be null. */ organizationName?: string | undefined; /** A whole number indicating if, for example, monetary amounts are represented in actual (1), thousands (1,000), or millions (1,000,000). */ scalingFactor: number; /** The time at which the financial statement was prepared. */ dataAsOfTime: string; /** A title for the financial statement that was prepared. Example: "Balance Sheet". */ title: string; } /** Defines the set of address component types that can be identified. |Enum Value|Description| |--|--| |Addressee|A name for a person, organization, building, or venue appearing as part of the address.| |POBoxNumber|A Postal Box number.| |Unit|An apartment, unit, office, lot, or room number.| |Floor|A floor number| |StreetAndNumber|A street or route name and building number.| |Neighborhood|A suburb or other unofficial neighborhood name.| |District|A district, borough, or other second-level municipality.| |PostalCode|A postal / zip code.| |City|The name of a city, town, village, hamlet, locality, or other first-level municipality.| |County|A second-level administrative division for a country.| |StateOrProvince|A first-level administrative division for a country.| |Region|An informal geographic region smaller than a country including named islands.| |Country|Sovereign nations and their dependent territories. See ISO 3166-1.| |WorldRegion|An informal geographic region larger than a country.| */ export type ComponentOfAddress = "Addressee" | "POBoxNumber" | "Unit" | "Floor" | "StreetAndNumber" | "Neighborhood" | "District" | "PostalCode" | "City" | "County" | "StateOrProvince" | "Region" | "Country" | "WorldRegion"; /** Defines the types of phone number components. |Enum Value|Description| |--|--| |AreaCode|A numeric prefix used by various telephone numbering plans for routing between geographic areas and for provisioning.| |CountryCallingCode|A telephone number prefix that is used for international calls.| |Extension|An extension number for the phone number.| |NationalNumber|A representation of the phone number excluding the Country Calling Code and any extension, but including area code [for numbering plans having one]. Domestic calls can be made using the national number alone.| |LocalNumber|The local part of the phone number excluding the area code. 7-digits in the NANP.| */ export type ComponentOfPhoneNumber = "AreaCode" | "CountryCallingCode" | "Extension" | "NationalNumber" | "LocalNumber"; /** Models a Connection to an external Dataset. */ export declare class Connection implements IConnection { state: ConnectionState; /** An identifier for the external Dataset associated with the Connection. */ datasetId: string; /** A friendly name for the external Dataset associated with the Connection. */ datasetName?: string | undefined; /** The name identifier of a datasource. Ex: 'quickbooksonline'. */ datasourceNameId: string; /** An identifier for the Connection. */ id: string; /** An identifier for the Organization for which the Connection was created. */ orgId: string; constructor(data?: IConnection); init(_data?: any): void; static fromJS(data: any): Connection; toJSON(data?: any): any; clone(): Connection; } /** Models a Connection to an external Dataset. */ export interface IConnection { state: ConnectionState; /** An identifier for the external Dataset associated with the Connection. */ datasetId: string; /** A friendly name for the external Dataset associated with the Connection. */ datasetName?: string | undefined; /** The name identifier of a datasource. Ex: 'quickbooksonline'. */ datasourceNameId: string; /** An identifier for the Connection. */ id: string; /** An identifier for the Organization for which the Connection was created. */ orgId: string; } /** A descriptor for a Connection to an external Dataset. */ export declare class ConnectionDescriptor implements IConnectionDescriptor { /** An identifier for the external Dataset associated with the Connection. */ datasetId: string; /** A friendly name for the external Dataset associated with the Connection. */ datasetName?: string | undefined; /** The name identifier of a datasource. Ex: 'quickbooksonline'. */ datasourceNameId: string; /** An identifier for the Connection. */ id: string; /** An identifier for the Organization for which the Connection was created. */ orgId: string; constructor(data?: IConnectionDescriptor); init(_data?: any): void; static fromJS(data: any): ConnectionDescriptor; toJSON(data?: any): any; clone(): ConnectionDescriptor; } /** A descriptor for a Connection to an external Dataset. */ export interface IConnectionDescriptor { /** An identifier for the external Dataset associated with the Connection. */ datasetId: string; /** A friendly name for the external Dataset associated with the Connection. */ datasetName?: string | undefined; /** The name identifier of a datasource. Ex: 'quickbooksonline'. */ datasourceNameId: string; /** An identifier for the Connection. */ id: string; /** An identifier for the Organization for which the Connection was created. */ orgId: string; } /** Models a Connection Request. */ export declare class ConnectionRequest implements IConnectionRequest { /** If the Status of the Connection Request is Success, this will be an identifier for the Connection to the datasource. */ connectionId?: string | undefined; /** An identifier for the Connection Request. */ id: string; errorCode?: ConnectionRequestErrorCode; /** If the Status of the Connection Request is Error, and ErrorDescription provides a user friendly description of to better understand why the Connection Request was not successful. */ errorDescription?: string | undefined; /** An identifier for the Organization for which the datasource is being connected. */ orgId: string; status: ConnectionRequestStatus; /** A name identifier for the datasource being connected to. */ datasourceNameId: string; constructor(data?: IConnectionRequest); init(_data?: any): void; static fromJS(data: any): ConnectionRequest; toJSON(data?: any): any; clone(): ConnectionRequest; } /** Models a Connection Request. */ export interface IConnectionRequest { /** If the Status of the Connection Request is Success, this will be an identifier for the Connection to the datasource. */ connectionId?: string | undefined; /** An identifier for the Connection Request. */ id: string; errorCode?: ConnectionRequestErrorCode; /** If the Status of the Connection Request is Error, and ErrorDescription provides a user friendly description of to better understand why the Connection Request was not successful. */ errorDescription?: string | undefined; /** An identifier for the Organization for which the datasource is being connected. */ orgId: string; status: ConnectionRequestStatus; /** A name identifier for the datasource being connected to. */ datasourceNameId: string; } /** A descriptor for a newly created Connnection Request. */ export declare class ConnectionRequestDescriptor implements IConnectionRequestDescriptor { /** The URL to which the user should be directed for them to connect the datasource. */ connectionEndpoint?: string | undefined; /** The `connectionEndpoint` URL in this response cannot be used beyond this expiration time. */ expiration: string; /** An identifier for the Connection Request. */ id: string; /** An identifier for the Organization for which the datasource is being connected. */ orgId: string; /** A name identifier for the datasource being connected to. */ datasourceNameId: string; constructor(data?: IConnectionRequestDescriptor); init(_data?: any): void; static fromJS(data: any): ConnectionRequestDescriptor; toJSON(data?: any): any; clone(): ConnectionRequestDescriptor; } /** A descriptor for a newly created Connnection Request. */ export interface IConnectionRequestDescriptor { /** The URL to which the user should be directed for them to connect the datasource. */ connectionEndpoint?: string | undefined; /** The `connectionEndpoint` URL in this response cannot be used beyond this expiration time. */ expiration: string; /** An identifier for the Connection Request. */ id: string; /** An identifier for the Organization for which the datasource is being connected. */ orgId: string; /** A name identifier for the datasource being connected to. */ datasourceNameId: string; } /** Specifies the high-level reason why a Connection Request was not successful. |Enum Value|Description| |--|--| |None|No error.| |UserCancelled|The user chose not to grant access to the datasource.| |RequestNonceAlreadyUsed|The Connection Request failed because it was attempted more than once.| |RequestExpired|The Connection Request failed because it was not completed within the required time frame.| |DatasourceUnresponsive|The Connection Request failed because the datasource was not responsive or returned an error. For example, 503 or 500 response received and re-attempting to did help.| |InsufficientUserPermissions|The user did not have sufficient privileges to grant access to the datasource.| |InternalError|An internal error occured. Reach out to our support team to get help.| |UserMustCompletePrerequisites|Cannot finish connecting until additional action is taken by a user.| */ export type ConnectionRequestErrorCode = "None" | "UserCancelled" | "RequestNonceAlreadyUsed" | "RequestExpired" | "DatasourceUnresponsive" | "InsufficientUserPermissions" | "InternalError" | "UserMustCompletePrerequisites"; /** Represents the parameters that are required to create a Connection Request. */ export declare class ConnectionRequestParameters implements IConnectionRequestParameters { /** A name identifier for the datasource being connected to. */ datasourceNameId: string; /** Additional parameters that will be passed to the connector when invoking the authorization flow. */ parameters?: { [key: string]: string; } | undefined; constructor(data?: IConnectionRequestParameters); init(_data?: any): void; static fromJS(data: any): ConnectionRequestParameters; toJSON(data?: any): any; clone(): ConnectionRequestParameters; } /** Represents the parameters that are required to create a Connection Request. */ export interface IConnectionRequestParameters { /** A name identifier for the datasource being connected to. */ datasourceNameId: string; /** Additional parameters that will be passed to the connector when invoking the authorization flow. */ parameters?: { [key: string]: string; } | undefined; } /** Specifies the status of a Connection Request. |Enum Value|Description| |--|--| |NotStarted|The Connection Request has been created, but has not yet started.| |Started|The Connection Request is in progress.| |Success|The Connection Request was successful.| |Error|The Connection Request was not successful.| */ export type ConnectionRequestStatus = "NotStarted" | "Started" | "Success" | "Error"; /** Models a list of Connections. */ export declare class ConnectionsList implements IConnectionsList { /** The set of Connections listed. */ connections: ConnectionDescriptor[]; constructor(data?: IConnectionsList); init(_data?: any): void; static fromJS(data: any): ConnectionsList; toJSON(data?: any): any; clone(): ConnectionsList; } /** Models a list of Connections. */ export interface IConnectionsList { /** The set of Connections listed. */ connections: ConnectionDescriptor[]; } /** Specifies the current status of a Connection. |Enum Value|Description| |--|--| |Disconnected|The Connection can no longer be used.| |Connected|The Connection can be used.| */ export type ConnectionState = "Disconnected" | "Connected"; /** Models additional metadata that can be attached to an API resource by the API consumer. */ export declare class ConsumerMetadata implements IConsumerMetadata { /** A label or key for the metadata that can be used to identify it. */ label: string; /** A value for the metadata. Null is allowed. */ value?: string | undefined; constructor(data?: IConsumerMetadata); init(_data?: any): void; static fromJS(data: any): ConsumerMetadata; toJSON(data?: any): any; clone(): ConsumerMetadata; } /** Models additional metadata that can be attached to an API resource by the API consumer. */ export interface IConsumerMetadata { /** A label or key for the metadata that can be used to identify it. */ label: string; /** A value for the metadata. Null is allowed. */ value?: string | undefined; } /** Models information about a country. */ export declare class Country implements ICountry { /** The ISO 3166 2-digit Country Code if known. */ code?: string | undefined; /** A label for the country without any implied formatting or validation. */ label: string; constructor(data?: ICountry); init(_data?: any): void; static fromJS(data: any): Country; toJSON(data?: any): any; clone(): Country; } /** Models information about a country. */ export interface ICountry { /** The ISO 3166 2-digit Country Code if known. */ code?: string | undefined; /** A label for the country without any implied formatting or validation. */ label: string; } /** Indicates whether an amount represents a credit, debit, or neither (zero). |Enum Value|Description| |--|--| |Zero|The amount is zero. Neither a credit or a debit.| |Credit|The amount represents a credit. Equity and liabilities typically have a credit balance. Revenue is typically credited.| |Debit|The amount represents a debit. Assets typically have a debit balance and expenses are typically debited.| */ export type CreditOrDebit = "Zero" | "Credit" | "Debit"; /** Models information about a particular currency. */ export declare class Currency implements ICurrency { /** The ISO 4217 alphabetic code if known. */ code?: string | undefined; /** A label for the currency without any implied formatting or validation. */ label: string; constructor(data?: ICurrency); init(_data?: any): void; static fromJS(data: any): Currency; toJSON(data?: any): any; clone(): Currency; } /** Models information about a particular currency. */ export interface ICurrency { /** The ISO 4217 alphabetic code if known. */ code?: string | undefined; /** A label for the currency without any implied formatting or validation. */ label: string; } /** Models information about where financial data was sourced from. */ export declare class Dataset implements IDataset { /** An identifier for the dataset from which the financial data originated. Unique within the scope of the datasource. */ datasetId: string; /** An identifier for the Accounting System or other datasource from which the financial data originated. */ datasourceNameId: string; constructor(data?: IDataset); init(_data?: any): void; static fromJS(data: any): Dataset; toJSON(data?: any): any; clone(): Dataset; } /** Models information about where financial data was sourced from. */ export interface IDataset { /** An identifier for the dataset from which the financial data originated. Unique within the scope of the datasource. */ datasetId: string; /** An identifier for the Accounting System or other datasource from which the financial data originated. */ datasourceNameId: string; } /** Used to specify whether an outstanding debt represents money owed or due. |Enum Value|Description| |--|--| |OwedTo|Money is owed to an external entity.| |DueFrom|Money is due from an external entity.| */ export type DebtDescriptor = "OwedTo" | "DueFrom"; /** Models an amount credited or debited. */ export declare class DoubleEntryAmount implements IDoubleEntryAmount { /** The scalar amount. Always positive or 0. */ amount: number; type: CreditOrDebit; constructor(data?: IDoubleEntryAmount); init(_data?: any): void; static fromJS(data: any): DoubleEntryAmount; toJSON(data?: any): any; clone(): DoubleEntryAmount; } /** Models an amount credited or debited. */ export interface IDoubleEntryAmount { /** The scalar amount. Always positive or 0. */ amount: number; type: CreditOrDebit; } /** Models an email address. */ export declare class EmailAddress implements IEmailAddress { /** A name or description of the contact associated with the email. For example, "John Doe" or "Customer Support". */ contact?: string | undefined; /** The value for the email address without any implied formatting or validation. */ value: string; constructor(data?: IEmailAddress); init(_data?: any): void; static fromJS(data: any): EmailAddress; toJSON(data?: any): any; clone(): EmailAddress; } /** Models an email address. */ export interface IEmailAddress { /** A name or description of the contact associated with the email. For example, "John Doe" or "Customer Support". */ contact?: string | undefined; /** The value for the email address without any implied formatting or validation. */ value: string; } /** Defines possible data types for fields. |Enum Value|Description| |--|--| |Numeric|The field is a numeric quantity.| */ export type FieldDataType = "Numeric"; /** Specifies the high-level reason why a Financial Import was not successful. |Enum Value|Description| |--|--| |None|No error.| |InsufficientUserPermissions|The end-user did not have or did not grant sufficient privileges to access the requested financials.| |DatasourceUnresponsive|The 3rd party service providing the financial data is not responding or has responded with one or more error messages. 5xx HTTP responses from the datasource are a typical example. Re-attempting the financial import after some time may be merited, but you can reach out to our support team so that we can help to get the issue resolved as soon as is possible.| |InternalError|An internal error occured. Reach out to our support team to get help.| |Disconnected|The Connection to the datasource requires authorization. This can happen if the authorization has expired or was revoked by the end-user. The end-user must reconnect their Accounting System or other financial datasource to import financials successfully.| |Cancelled|The financial import was cancelled by the end-user, the datasource, the API consumer, or by the Strongbox Platform.| */ export type FinancialImportErrorCode = "None" | "InsufficientUserPermissions" | "DatasourceUnresponsive" | "InternalError" | "Disconnected" | "Cancelled"; /** Specifies the outcome of importing new financial data. |Enum Value|Description| |--|--| |Pending|The outcome is still pending.| |Success|Importing the financial data is complete.| |Error|Importing the financial data failed.| */ export type FinancialImportOutcome = "Pending" | "Success" | "Error"; /** Models parameters that are required to import new financial data. */ export declare class FinancialImportParameters implements IFinancialImportParameters { /** An identifier for the Connection used to import financials. */ accountingConnectionId: string; /** Optional metadata to associate with the Financial Record. For example, you might associate the Financial Record with an identifier for a specific Loan Submission in your own system. */ consumerMetadata?: ConsumerMetadata[] | undefined; /** This parameter is used as the end date for period-to-date financial data. Please use ISO 8601 date format "YYYY-MM-DD". */ reportingEndDate: string; accountingDataImportOptions?: AccountingDataImportParameters; constructor(data?: IFinancialImportParameters); init(_data?: any): void; static fromJS(data: any): FinancialImportParameters; toJSON(data?: any): any; clone(): FinancialImportParameters; } /** Models parameters that are required to import new financial data. */ export interface IFinancialImportParameters { /** An identifier for the Connection used to import financials. */ accountingConnectionId: string; /** Optional metadata to associate with the Financial Record. For example, you might associate the Financial Record with an identifier for a specific Loan Submission in your own system. */ consumerMetadata?: ConsumerMetadata[] | undefined; /** This parameter is used as the end date for period-to-date financial data. Please use ISO 8601 date format "YYYY-MM-DD". */ reportingEndDate: string; accountingDataImportOptions?: AccountingDataImportParameters; } /** Models the status of importing new financial data to create a Financial Record. */ export declare class FinancialImportStatus implements IFinancialImportStatus { errorCode?: FinancialImportErrorCode; /** If the Outcome is Error, then the ErrorDescription provides a description of the problem that occurred when attempting to import financials. */ errorDescription?: string | undefined; outcome: FinancialImportOutcome; constructor(data?: IFinancialImportStatus); init(_data?: any): void; static fromJS(data: any): FinancialImportStatus; toJSON(data?: any): any; clone(): FinancialImportStatus; } /** Models the status of importing new financial data to create a Financial Record. */ export interface IFinancialImportStatus { errorCode?: FinancialImportErrorCode; /** If the Outcome is Error, then the ErrorDescription provides a description of the problem that occurred when attempting to import financials. */ errorDescription?: string | undefined; outcome: FinancialImportOutcome; } /** Models a calculated Financial Ratio. */ export declare class FinancialRatio implements IFinancialRatio { /** A unique identifier for the financial ratio. */ id: string; /** A friendly name for the ratio. */ displayName: string; /** A category assigned to the ratio. */ category?: string | undefined; /** The calculated values of the ratio. */ values: FinancialRatioValue[]; constructor(data?: IFinancialRatio); init(_data?: any): void; static fromJS(data: any): FinancialRatio; toJSON(data?: any): any; clone(): FinancialRatio; } /** Models a calculated Financial Ratio. */ export interface IFinancialRatio { /** A unique identifier for the financial ratio. */ id: string; /** A friendly name for the ratio. */ displayName: string; /** A category assigned to the ratio. */ category?: string | undefined; /** The calculated values of the ratio. */ values: FinancialRatioValue[]; } /** Models a set of calculated financial ratios. */ export declare class FinancialRatios implements IFinancialRatios { /** The set of reporting periods for which ratios were calculated. */ reportingPeriods: ReportingPeriodDescriptor[]; /** The set of ratios that were calculated. */ ratios: FinancialRatio[]; constructor(data?: IFinancialRatios); init(_data?: any): void; static fromJS(data: any): FinancialRatios; toJSON(data?: any): any; clone(): FinancialRatios; } /** Models a set of calculated financial ratios. */ export interface IFinancialRatios { /** The set of reporting periods for which ratios were calculated. */ reportingPeriods: ReportingPeriodDescriptor[]; /** The set of ratios that were calculated. */ ratios: FinancialRatio[]; } /** A Horizontal Analysis of Financial Ratios. */ export declare class FinancialRatiosHorizontalAnalysis implements IFinancialRatiosHorizontalAnalysis { /** Horiztontal Analysis comparative data by Financial Ratio. */ ratios: HorizontalAnalysisFinancialRatio[]; constructor(data?: IFinancialRatiosHorizontalAnalysis); init(_data?: any): void; static fromJS(data: any): FinancialRatiosHorizontalAnalysis; toJSON(data?: any): any; clone(): FinancialRatiosHorizontalAnalysis; } /** A Horizontal Analysis of Financial Ratios. */ export interface IFinancialRatiosHorizontalAnalysis { /** Horiztontal Analysis comparative data by Financial Ratio. */ ratios: HorizontalAnalysisFinancialRatio[]; } /** Models the value of a calculated ratio. */ export declare class FinancialRatioValue implements IFinancialRatioValue { errorCode?: CalculationError; /** The calculated value of the ratio. May be null if the ratio could not be calculated. */ value?: number | undefined; constructor(data?: IFinancialRatioValue); init(_data?: any): void; static fromJS(data: any): FinancialRatioValue; toJSON(data?: any): any; clone(): FinancialRatioValue; } /** Models the value of a calculated ratio. */ export interface IFinancialRatioValue { errorCode?: CalculationError; /** The calculated value of the ratio. May be null if the ratio could not be calculated. */ value?: number | undefined; } /** Models imported financials. */ export declare class FinancialRecord implements IFinancialRecord { /** Additional metadata associated with the Financial Record that was added, by you, the API consumer. For example, you might associate the Financial Record with an identifier for a specific Loan Submission in your own system. */ consumerMetadata: ConsumerMetadata[]; /** The time at which the financial data was imported. */ dataAsOfTime: string; accountingDataset: Dataset; /** An identifier for the Financial Record. */ id: string; importStatus: FinancialImportStatus; /** The end date for period-to-date financial data. Serialized using ISO 8601 date format "YYYY-MM-DD". */ reportingEndDate: string; /** Specifies whether the financial data was imported on-demand or via a schedule. */ scheduled: boolean; accountingDataImportOptions: AccountingImportOptions; constructor(data?: IFinancialRecord); init(_data?: any): void; static fromJS(data: any): FinancialRecord; toJSON(data?: any): any; clone(): FinancialRecord; } /** Models imported financials. */ export interface IFinancialRecord { /** Additional metadata associated with the Financial Record that was added, by you, the API consumer. For example, you might associate the Financial Record with an identifier for a specific Loan Submission in your own system. */ consumerMetadata: ConsumerMetadata[]; /** The time at which the financial data was imported. */ dataAsOfTime: string; accountingDataset: Dataset; /** An identifier for the Financial Record. */ id: string; importStatus: FinancialImportStatus; /** The end date for period-to-date financial data. Serialized using ISO 8601 date format "YYYY-MM-DD". */ reportingEndDate: string; /** Specifies whether the financial data was imported on-demand or via a schedule. */ scheduled: boolean; accountingDataImportOptions: AccountingImportOptions; } /** Models a list of Financial Records. */ export declare class FinancialRecordList implements IFinancialRecordList { /** The set of Financial Records listed. */ financialRecords: FinancialRecord[]; constructor(data?: IFinancialRecordList); init(_data?: any): void; static fromJS(data: any): FinancialRecordList; toJSON(data?: any): any; clone(): FinancialRecordList; } /** Models a list of Financial Records. */ export interface IFinancialRecordList { /** The set of Financial Records listed. */ financialRecords: FinancialRecord[]; } /** A reference to a Financial Record by its id. */ export declare class FinancialRecordReference implements IFinancialRecordReference { /** An identifier for a Financial Record. */ financialRecordId: string; constructor(data?: IFinancialRecordReference); init(_data?: any): void; static fromJS(data: any): FinancialRecordReference; toJSON(data?: any): any; clone(): FinancialRecordReference; } /** A reference to a Financial Record by its id. */ export interface IFinancialRecordReference { /** An identifier for a Financial Record. */ financialRecordId: string; } /** Models a set of checks that were run against the financial data to verify accuracy, completeness, and reliability of that data. */ export declare class FinancialReview implements IFinancialReview { /** The checks that were run for the review of the financial data. */ checks: FinancialReviewCheck[]; constructor(data?: IFinancialReview); init(_data?: any): void; static fromJS(data: any): FinancialReview; toJSON(data?: any): any; clone(): FinancialReview; } /** Models a set of checks that were run against the financial data to verify accuracy, completeness, and reliability of that data. */ export interface IFinancialReview { /** The checks that were run for the review of the financial data. */ checks: FinancialReviewCheck[]; } /** Models the outcome of a check that was executed against the financial data. */ export declare class FinancialReviewCheck implements IFinancialReviewCheck { /** An identifier for the check. */ id: string; /** A category assigned to the check. Refer to the documentation [here](https://developer.strongbox.link/guides.html#financial-reviews) to learn more. */ category?: string | undefined; outcome: FinancialReviewCheckOutcome; /** A description of the outcome of the check. May be null. */ outcomeDescription?: string | undefined; /** If the check was run for a specific time period, the first date in that time period (inclusive), otherwise null. Serialized using "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ fromDate?: string | undefined; /** If the check was run for a specific time period, the last date in that time period (inclusive), otherwise null. Serialized using "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ toDate?: string | undefined; constructor(data?: IFinancialReviewCheck); init(_data?: any): void; static fromJS(data: any): FinancialReviewCheck; toJSON(data?: any): any; clone(): FinancialReviewCheck; } /** Models the outcome of a check that was executed against the financial data. */ export interface IFinancialReviewCheck { /** An identifier for the check. */ id: string; /** A category assigned to the check. Refer to the documentation [here](https://developer.strongbox.link/guides.html#financial-reviews) to learn more. */ category?: string | undefined; outcome: FinancialReviewCheckOutcome; /** A description of the outcome of the check. May be null. */ outcomeDescription?: string | undefined; /** If the check was run for a specific time period, the first date in that time period (inclusive), otherwise null. Serialized using "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ fromDate?: string | undefined; /** If the check was run for a specific time period, the last date in that time period (inclusive), otherwise null. Serialized using "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ toDate?: string | undefined; } /** Models possible outcomes for a financial review check. |Enum Value|Description| |--|--| |Inconclusive|No conclusion could be drawn or the check was not applicable.| |Pass|The check passed.| |Fail|The check failed.| */ export type FinancialReviewCheckOutcome = "Inconclusive" | "Pass" | "Fail"; /** A Horizontal Analysis of Financial Statement line items. */ export declare class FinancialStatementHorizontalAnalysis implements IFinancialStatementHorizontalAnalysis { /** Horiztontal Analysis comparative data by line item. */ lineItems: HorizontalAnalysisLineItem[]; constructor(data?: IFinancialStatementHorizontalAnalysis); init(_data?: any): void; static fromJS(data: any): FinancialStatementHorizontalAnalysis; toJSON(data?: any): any; clone(): FinancialStatementHorizontalAnalysis; } /** A Horizontal Analysis of Financial Statement line items. */ export interface IFinancialStatementHorizontalAnalysis { /** Horiztontal Analysis comparative data by line item. */ lineItems: HorizontalAnalysisLineItem[]; } /** Used to configure the financial statements that are collected from the accounting system. */ export declare class FinancialStatementImportOptions implements IFinancialStatementImportOptions { basisOfAccountingPreference?: BasisOfAccountingPreference; reportingPeriod?: ImportReportingPeriod; /** A natural number greater than or equal to zero used to specify the total number of months, quarters, or years for which financial data is desired. The month-to-date, quarter-to-date, or year-to-date period is included in this count. For example, setting 'reportingPeriod' to 'FiscalYears' and 'numberOfReportingPeriods' to 3 should be interpreted as '2 full fiscal years and fiscal YTD'. Setting 'numberOfPeriods' to zero disables data collection. */ numberOfPeriods: number; constructor(data?: IFinancialStatementImportOptions); init(_data?: any): void; static fromJS(data: any): FinancialStatementImportOptions; toJSON(data?: any): any; clone(): FinancialStatementImportOptions; } /** Used to configure the financial statements that are collected from the accounting system. */ export interface IFinancialStatementImportOptions { basisOfAccountingPreference?: BasisOfAccountingPreference; reportingPeriod?: ImportReportingPeriod; /** A natural number greater than or equal to zero used to specify the total number of months, quarters, or years for which financial data is desired. The month-to-date, quarter-to-date, or year-to-date period is included in this count. For example, setting 'reportingPeriod' to 'FiscalYears' and 'numberOfReportingPeriods' to 3 should be interpreted as '2 full fiscal years and fiscal YTD'. Setting 'numberOfPeriods' to zero disables data collection. */ numberOfPeriods: number; } /** Models information about a Financial Workbook that can be downloaded. */ export declare class FinancialWorkbook implements IFinancialWorkbook { /** An identifier for the Financial Workbook variant. */ variantId: string; /** The filename associated with the Financial Workbook. */ filename: string; /** The time at which the Financial Workbook was created. */ creationTime: string; /** A set of tags associated with the workbook. Examples are 'Customer Copy', 'Accrual Basis', and 'Cash Basis'. */ tags?: string[] | undefined; constructor(data?: IFinancialWorkbook); init(_data?: any): void; static fromJS(data: any): FinancialWorkbook; toJSON(data?: any): any; clone(): FinancialWorkbook; } /** Models information about a Financial Workbook that can be downloaded. */ export interface IFinancialWorkbook { /** An identifier for the Financial Workbook variant. */ variantId: string; /** The filename associated with the Financial Workbook. */ filename: string; /** The time at which the Financial Workbook was created. */ creationTime: string; /** A set of tags associated with the workbook. Examples are 'Customer Copy', 'Accrual Basis', and 'Cash Basis'. */ tags?: string[] | undefined; } /** Models a list of Financial Workbooks. */ export declare class FinancialWorkbooksList implements IFinancialWorkbooksList { /** The set of Financial Workbooks being listed. */ workbooks: FinancialWorkbook[]; constructor(data?: IFinancialWorkbooksList); init(_data?: any): void; static fromJS(data: any): FinancialWorkbooksList; toJSON(data?: any): any; clone(): FinancialWorkbooksList; } /** Models a list of Financial Workbooks. */ export interface IFinancialWorkbooksList { /** The set of Financial Workbooks being listed. */ workbooks: FinancialWorkbook[]; } /** This response may be used when returning a 403 HTTP status code. */ export declare class Forbidden implements IForbidden { /** A description of why the request was denied for troubleshooting purposes. May be null or omitted. */ description?: string | undefined; constructor(data?: IForbidden); init(_data?: any): void; static fromJS(data: any): Forbidden; toJSON(data?: any): any; clone(): Forbidden; } /** This response may be used when returning a 403 HTTP status code. */ export interface IForbidden { /** A description of why the request was denied for troubleshooting purposes. May be null or omitted. */ description?: string | undefined; } /** Models a Horizontal Analysis. */ export declare class HorizontalAnalysis implements IHorizontalAnalysis { baselinePeriodType: BaselinePeriodType; /** Information about the set of reporting periods included in the Horizontal Analysis, including the baseline period that each is being compared to. */ reportingPeriods: ReportingPeriodComparison[]; /** The set of metrics that were evaluated for the Horizontal Analysis. */ metrics: HorizontalAnalysisMetric[]; constructor(data?: IHorizontalAnalysis); init(_data?: any): void; static fromJS(data: any): HorizontalAnalysis; toJSON(data?: any): any; clone(): HorizontalAnalysis; } /** Models a Horizontal Analysis. */ export interface IHorizontalAnalysis { baselinePeriodType: BaselinePeriodType; /** Information about the set of reporting periods included in the Horizontal Analysis, including the baseline period that each is being compared to. */ reportingPeriods: ReportingPeriodComparison[]; /** The set of metrics that were evaluated for the Horizontal Analysis. */ metrics: HorizontalAnalysisMetric[]; } /** Comparative data representing a Horizontal Analysis of a single Financial Ratio. */ export declare class HorizontalAnalysisFinancialRatio implements IHorizontalAnalysisFinancialRatio { /** A unique identifier for the financial ratio. */ id: string; /** A friendly name for the ratio. */ displayName: string; /** A category assigned to the ratio. */ category?: string | undefined; comparativeData: HorizontalComparison[]; constructor(data?: IHorizontalAnalysisFinancialRatio); init(_data?: any): void; static fromJS(data: any): HorizontalAnalysisFinancialRatio; toJSON(data?: any): any; clone(): HorizontalAnalysisFinancialRatio; } /** Comparative data representing a Horizontal Analysis of a single Financial Ratio. */ export interface IHorizontalAnalysisFinancialRatio { /** A unique identifier for the financial ratio. */ id: string; /** A friendly name for the ratio. */ displayName: string; /** A category assigned to the ratio. */ category?: string | undefined; comparativeData: HorizontalComparison[]; } /** Defines possible metrics for which a Horizontal Analysis can be done. |Enum Value|Description| |--|--| |IncomeStatementLineItem|The metric represents the amounts reported by a line item on the Income Statement.| |BalanceSheetLineItem|The metric represents the amounts reported by a line item on the Balance Sheet.| |FinancialRatio|The metric represents a Finacial Ratio calculated from figures appearing on the Financial Statements.| */ export type HorizontalAnalysisInputMetricType = "IncomeStatementLineItem" | "BalanceSheetLineItem" | "FinancialRatio"; /** Models a Horizontal Analysis. */ export declare class HorizontalAnalysisLegacy implements IHorizontalAnalysisLegacy { baselinePeriodType: BaselinePeriodType; /** Information about the set of reporting periods included in the horizontal analysis, including the baseline period that each is being compared to. */ reportingPeriods: ReportingPeriodComparison[]; incomeStatement: FinancialStatementHorizontalAnalysis; balanceSheet: FinancialStatementHorizontalAnalysis; financialRatios: FinancialRatiosHorizontalAnalysis; constructor(data?: IHorizontalAnalysisLegacy); init(_data?: any): void; static fromJS(data: any): HorizontalAnalysisLegacy; toJSON(data?: any): any; clone(): HorizontalAnalysisLegacy; } /** Models a Horizontal Analysis. */ export interface IHorizontalAnalysisLegacy { baselinePeriodType: BaselinePeriodType; /** Information about the set of reporting periods included in the horizontal analysis, including the baseline period that each is being compared to. */ reportingPeriods: ReportingPeriodComparison[]; incomeStatement: FinancialStatementHorizontalAnalysis; balanceSheet: FinancialStatementHorizontalAnalysis; financialRatios: FinancialRatiosHorizontalAnalysis; } /** Comparative data representing a Horizontal Analysis of a single line item appearing on a financial statement. */ export declare class HorizontalAnalysisLineItem implements IHorizontalAnalysisLineItem { /** An identifier for the line item. */ id: string; accountRef?: AccountReference; /** The line item caption, which is label for the line item as it would appear on the statement. */ caption: string; lineItemType: LineItemType; /** The results of comparing this line item to value reported in the baseline period. */ comparativeData: HorizontalComparison[]; /** Each line item may contain a set of subtotal lines. */ subtotals: HorizontalAnalysisLineItem[]; constructor(data?: IHorizontalAnalysisLineItem); init(_data?: any): void; static fromJS(data: any): HorizontalAnalysisLineItem; toJSON(data?: any): any; clone(): HorizontalAnalysisLineItem; } /** Comparative data representing a Horizontal Analysis of a single line item appearing on a financial statement. */ export interface IHorizontalAnalysisLineItem { /** An identifier for the line item. */ id: string; accountRef?: AccountReference; /** The line item caption, which is label for the line item as it would appear on the statement. */ caption: string; lineItemType: LineItemType; /** The results of comparing this line item to value reported in the baseline period. */ comparativeData: HorizontalComparison[]; /** Each line item may contain a set of subtotal lines. */ subtotals: HorizontalAnalysisLineItem[]; } /** Models Horizontal Analysis data calculated for a specific financial statement metric. */ export declare class HorizontalAnalysisMetric implements IHorizontalAnalysisMetric { /** An identifier for the financial statement metric. */ inputMetricId: string; inputMetricType: HorizontalAnalysisInputMetricType; /** Horizontal comparisons for each reporting period compared to the baseline period. */ comparativeData: HorizontalComparison[]; constructor(data?: IHorizontalAnalysisMetric); init(_data?: any): void; static fromJS(data: any): HorizontalAnalysisMetric; toJSON(data?: any): any; clone(): HorizontalAnalysisMetric; } /** Models Horizontal Analysis data calculated for a specific financial statement metric. */ export interface IHorizontalAnalysisMetric { /** An identifier for the financial statement metric. */ inputMetricId: string; inputMetricType: HorizontalAnalysisInputMetricType; /** Horizontal comparisons for each reporting period compared to the baseline period. */ comparativeData: HorizontalComparison[]; } /** Models a comparison between a past and present value calculated as part of a horizontal analysis. */ export declare class HorizontalComparison implements IHorizontalComparison { /** The current value of the metric being compared to the past value. */ currentValue?: number | undefined; /** The `currentValue` is compared to the `pastValue`. */ pastValue?: number | undefined; /** The absolute change measured between the past and current value (`currentValue − pastValue`). */ absoluteChange?: number | undefined; percentChange: PercentageValue; constructor(data?: IHorizontalComparison); init(_data?: any): void; static fromJS(data: any): HorizontalComparison; toJSON(data?: any): any; clone(): HorizontalComparison; } /** Models a comparison between a past and present value calculated as part of a horizontal analysis. */ export interface IHorizontalComparison { /** The current value of the metric being compared to the past value. */ currentValue?: number | undefined; /** The `currentValue` is compared to the `pastValue`. */ pastValue?: number | undefined; /** The absolute change measured between the past and current value (`currentValue − pastValue`). */ absoluteChange?: number | undefined; percentChange: PercentageValue; } /** Models an identifier. */ export declare class Identifier implements IIdentifier { /** A label for the identifier to better understand its meaning. Possible values include, but are not limited to; ABN, ACN, TFN, EIN, WPN, ResaleNumber, SSN. */ label: string; /** The value for the identifier without any implied formatting or validation. */ value: string; constructor(data?: IIdentifier); init(_data?: any): void; static fromJS(data: any): Identifier; toJSON(data?: any): any; clone(): Identifier; } /** Models an identifier. */ export interface IIdentifier { /** A label for the identifier to better understand its meaning. Possible values include, but are not limited to; ABN, ACN, TFN, EIN, WPN, ResaleNumber, SSN. */ label: string; /** The value for the identifier without any implied formatting or validation. */ value: string; } /** Specifies the time period for which accounting and other financial data is prepared. |Enum Value|Description| |--|--| |Months|The reporting period is monthly.| |FiscalQuarters|The reporting period is quarterly; aligned to the fiscal year for the accounting entity.| |FiscalYears|The reporting period is annual; aligned to the fiscal year for the accounting entity.| */ export type ImportReportingPeriod = "Months" | "FiscalQuarters" | "FiscalYears"; /** Models options for selecting the base figures to use when running a vertical analysis against the Income Statement. |Enum Value|Description| |--|--| |NetSales|All line items are compared against Total Net Sales.| |NetIncome|All line items are compared against Net Income.| */ export type IncomeStatementBaseFigures = "NetSales" | "NetIncome"; /** A Vertical Analysis of Income Statement line items. */ export declare class IncomeStatementVerticalAnalysis implements IIncomeStatementVerticalAnalysis { baseFigures: IncomeStatementBaseFigures; /** Vertical Analysis comparative data by line item. */ lineItems: VerticalAnalysisLineItem[]; constructor(data?: IIncomeStatementVerticalAnalysis); init(_data?: any): void; static fromJS(data: any): IncomeStatementVerticalAnalysis; toJSON(data?: any): any; clone(): IncomeStatementVerticalAnalysis; } /** A Vertical Analysis of Income Statement line items. */ export interface IIncomeStatementVerticalAnalysis { baseFigures: IncomeStatementBaseFigures; /** Vertical Analysis comparative data by line item. */ lineItems: VerticalAnalysisLineItem[]; } /** Models parameters to setup an Organization as it appears in the Strongbox Web Portal. */ export declare class InitializeOrganizationParameters implements IInitializeOrganizationParameters { /** A display name to be used for the Organization as it appears in the Strongbox Web Portal. The maximum length of the display name is 256 characters. */ displayName: string; constructor(data?: IInitializeOrganizationParameters); init(_data?: any): void; static fromJS(data: any): InitializeOrganizationParameters; toJSON(data?: any): any; clone(): InitializeOrganizationParameters; } /** Models parameters to setup an Organization as it appears in the Strongbox Web Portal. */ export interface IInitializeOrganizationParameters { /** A display name to be used for the Organization as it appears in the Strongbox Web Portal. The maximum length of the display name is 256 characters. */ displayName: string; } /** Models a line item appearing in a financial statement. */ export declare class LineItem implements ILineItem { accountRef?: AccountReference; /** A label for for the line item. For example, "Assets", "Total Current Assets", "Gross Profit", or "Accounts Receivable". */ caption: string; /** The reported monetary amounts associated with the line item. These figures correspond to the reporting periods in the financial statement column headers. If the type of line item is None, then there will be no column data. */ columnData: number[]; /** An optional description of the line item. Can be presented as tooltip depending on the mechanism being used to present the financial statement. May be null. */ description?: string | undefined; /** An identifier for the line item which is unique within the scope of the financial statement. */ id: string; /** For presentation purposes, this represents the indentation level of the line item. */ indentationLevel: number; /** The style of the line item. */ styleClasses: StyleClasses[]; constructor(data?: ILineItem); init(_data?: any): void; static fromJS(data: any): LineItem; toJSON(data?: any): any; clone(): LineItem; } /** Models a line item appearing in a financial statement. */ export interface ILineItem { accountRef?: AccountReference; /** A label for for the line item. For example, "Assets", "Total Current Assets", "Gross Profit", or "Accounts Receivable". */ caption: string; /** The reported monetary amounts associated with the line item. These figures correspond to the reporting periods in the financial statement column headers. If the type of line item is None, then there will be no column data. */ columnData: number[]; /** An optional description of the line item. Can be presented as tooltip depending on the mechanism being used to present the financial statement. May be null. */ description?: string | undefined; /** An identifier for the line item which is unique within the scope of the financial statement. */ id: string; /** For presentation purposes, this represents the indentation level of the line item. */ indentationLevel: number; /** The style of the line item. */ styleClasses: StyleClasses[]; } /** Models the types of line items appearing in financial statement analysis responses. |Enum Value|Description| |--|--| |SourceCoA|The line item represents an account from the company's chart of accounts.| |SourceCoASubtotal|The line item represents a subtotal of accounts in the company's chart of accounts.| |ClassificationSubtotal|The line item represents a subtotal for an account classification in the taxonomy that the company's chart of accounts was mapped to.| */ export type LineItemType = "SourceCoA" | "SourceCoASubtotal" | "ClassificationSubtotal"; /** This response may be used when returning a 404 HTTP status code. */ export declare class NotFound implements INotFound { /** A message describing which resource could not be found for troubleshooting purposes. */ description?: string | undefined; constructor(data?: INotFound); init(_data?: any): void; static fromJS(data: any): NotFound; toJSON(data?: any): any; clone(): NotFound; } /** This response may be used when returning a 404 HTTP status code. */ export interface INotFound { /** A message describing which resource could not be found for troubleshooting purposes. */ description?: string | undefined; } /** Models the name of an organization. */ export declare class OrganizationName implements IOrganizationName { /** A set of tags providing additional information about the name. */ tags: OrganizationNameTag[]; /** The name value with no implied formatting or validation. */ value: string; constructor(data?: IOrganizationName); init(_data?: any): void; static fromJS(data: any): OrganizationName; toJSON(data?: any): any; clone(): OrganizationName; } /** Models the name of an organization. */ export interface IOrganizationName { /** A set of tags providing additional information about the name. */ tags: OrganizationNameTag[]; /** The name value with no implied formatting or validation. */ value: string; } /** Defines a set of tags providing additional information about a Name. |Enum Value|Description| |--|--| |Legal|The name is the legal name for the Organization.| |Dba|The name is used as a trade name. Short for "Doing Business As".| */ export type OrganizationNameTag = "Legal" | "Dba"; /** Models additional contact information. */ export declare class OtherContactMethod implements IOtherContactMethod { /** A name or description of the contact associated with the contact info. For example, "John Doe" or "Customer Support". */ contact?: string | undefined; /** A friendly description of the contact method. For example 'Skype Account'. */ description: string; /** A value for the contact method without any implied formatting or validation. */ value: string; constructor(data?: IOtherContactMethod); init(_data?: any): void; static fromJS(data: any): OtherContactMethod; toJSON(data?: any): any; clone(): OtherContactMethod; } /** Models additional contact information. */ export interface IOtherContactMethod { /** A name or description of the contact associated with the contact info. For example, "John Doe" or "Customer Support". */ contact?: string | undefined; /** A friendly description of the contact method. For example 'Skype Account'. */ description: string; /** A value for the contact method without any implied formatting or validation. */ value: string; } /** Outstanding Payables by reporting period. */ export declare class OutstandingPayablesHistory implements IOutstandingPayablesHistory { /** Outstanding receivables or payables calculated for each reporting period. */ history: OutstandingReceivableOrPayableList[]; constructor(data?: IOutstandingPayablesHistory); init(_data?: any): void; static fromJS(data: any): OutstandingPayablesHistory; toJSON(data?: any): any; clone(): OutstandingPayablesHistory; } /** Outstanding Payables by reporting period. */ export interface IOutstandingPayablesHistory { /** Outstanding receivables or payables calculated for each reporting period. */ history: OutstandingReceivableOrPayableList[]; } /** Models an outstanding receivable or payable transaction including invoices, receipts, credit notes, and refunds. */ export declare class OutstandingReceivableOrPayable implements IOutstandingReceivableOrPayable { amountOutstanding: DoubleEntryAmount; businessRelationship?: BusinessRelationship; /** A positive or negative integer representing the number of days before or after the due date relative to the financial reporting date. For example, the age one day before the due date is -1 and the age one day after the due date is 1. If a due date is not specified then 'transactionDate' is treated as the due date. */ daysFromDueDate: number; /** A positive integer representing the number of days since the transaction was created as of the financial reporting date. For example, the age one day after the transaction date is 1. */ daysFromTransactionDate: number; debtDescriptor: DebtDescriptor; /** The date at which time an invoice is due, if a due date is specified. */ dueDate?: string | undefined; transactionAmount: DoubleEntryAmount; /** The date on which the transaction occured, for financial reporting purposes. */ transactionDate: string; /** An identifier for the transaction. */ transactionId: string; /** The type of the transaction, as specified by the datasource. Some examples are: "Invoice", "Credit Memo", and "Credit Card Payment". */ transactionType?: string | undefined; /** A document number assigned to the transaction. Usually alpha-numeric and sequenced by the accounting system automatically. Examples are 'Invoice #' and 'Credit Memo #' found in QuickBooks or Xero. */ docNo?: string | undefined; /** An secondary reference number assigned to the transaction. Typically alpha-numeric and user-defined. */ refNo?: string | undefined; constructor(data?: IOutstandingReceivableOrPayable); init(_data?: any): void; static fromJS(data: any): OutstandingReceivableOrPayable; toJSON(data?: any): any; clone(): OutstandingReceivableOrPayable; } /** Models an outstanding receivable or payable transaction including invoices, receipts, credit notes, and refunds. */ export interface IOutstandingReceivableOrPayable { amountOutstanding: DoubleEntryAmount; businessRelationship?: BusinessRelationship; /** A positive or negative integer representing the number of days before or after the due date relative to the financial reporting date. For example, the age one day before the due date is -1 and the age one day after the due date is 1. If a due date is not specified then 'transactionDate' is treated as the due date. */ daysFromDueDate: number; /** A positive integer representing the number of days since the transaction was created as of the financial reporting date. For example, the age one day after the transaction date is 1. */ daysFromTransactionDate: number; debtDescriptor: DebtDescriptor; /** The date at which time an invoice is due, if a due date is specified. */ dueDate?: string | undefined; transactionAmount: DoubleEntryAmount; /** The date on which the transaction occured, for financial reporting purposes. */ transactionDate: string; /** An identifier for the transaction. */ transactionId: string; /** The type of the transaction, as specified by the datasource. Some examples are: "Invoice", "Credit Memo", and "Credit Card Payment". */ transactionType?: string | undefined; /** A document number assigned to the transaction. Usually alpha-numeric and sequenced by the accounting system automatically. Examples are 'Invoice #' and 'Credit Memo #' found in QuickBooks or Xero. */ docNo?: string | undefined; /** An secondary reference number assigned to the transaction. Typically alpha-numeric and user-defined. */ refNo?: string | undefined; } /** Models a set of outstanding receivable or payable transactions. */ export declare class OutstandingReceivableOrPayableList implements IOutstandingReceivableOrPayableList { /** The date corresponding at which outstanding receivables or payables data was calculated. */ asOf: string; /** The set of outstanding receivable or payable transactions. */ transactions: OutstandingReceivableOrPayable[]; constructor(data?: IOutstandingReceivableOrPayableList); init(_data?: any): void; static fromJS(data: any): OutstandingReceivableOrPayableList; toJSON(data?: any): any; clone(): OutstandingReceivableOrPayableList; } /** Models a set of outstanding receivable or payable transactions. */ export interface IOutstandingReceivableOrPayableList { /** The date corresponding at which outstanding receivables or payables data was calculated. */ asOf: string; /** The set of outstanding receivable or payable transactions. */ transactions: OutstandingReceivableOrPayable[]; } /** Outstanding Receivables by reporting period. */ export declare class OutstandingReceivablesHistory implements IOutstandingReceivablesHistory { /** Outstanding receivables or payables calculated for each reporting period. */ history: OutstandingReceivableOrPayableList[]; constructor(data?: IOutstandingReceivablesHistory); init(_data?: any): void; static fromJS(data: any): OutstandingReceivablesHistory; toJSON(data?: any): any; clone(): OutstandingReceivablesHistory; } /** Outstanding Receivables by reporting period. */ export interface IOutstandingReceivablesHistory { /** Outstanding receivables or payables calculated for each reporting period. */ history: OutstandingReceivableOrPayableList[]; } /** Models a calculated percentage. */ export declare class PercentageValue implements IPercentageValue { errorCode?: CalculationError; /** The percentage represented as a number between 0 and 1, but may be null if the percentage is undefined (divide by zero). */ value?: number | undefined; constructor(data?: IPercentageValue); init(_data?: any): void; static fromJS(data: any): PercentageValue; toJSON(data?: any): any; clone(): PercentageValue; } /** Models a calculated percentage. */ export interface IPercentageValue { errorCode?: CalculationError; /** The percentage represented as a number between 0 and 1, but may be null if the percentage is undefined (divide by zero). */ value?: number | undefined; } /** Models a phone number. */ export declare class PhoneNumber implements IPhoneNumber { /** Specific components of the phone number that have been identified. The set of Components do not necessarily provide a complete representation of the phone number. */ components: PhoneNumberComponent[]; /** A name or description of the contact associated with the phone number. For example, "John Doe" or "Customer Support". */ contact?: string | undefined; /** A set of tags for the phone intended to provide accessory information about it. */ tags: PhoneNumberTags[]; /** A complete representation of the phone number without any implied formatting or validation. */ value: string; constructor(data?: IPhoneNumber); init(_data?: any): void; static fromJS(data: any): PhoneNumber; toJSON(data?: any): any; clone(): PhoneNumber; } /** Models a phone number. */ export interface IPhoneNumber { /** Specific components of the phone number that have been identified. The set of Components do not necessarily provide a complete representation of the phone number. */ components: PhoneNumberComponent[]; /** A name or description of the contact associated with the phone number. For example, "John Doe" or "Customer Support". */ contact?: string | undefined; /** A set of tags for the phone intended to provide accessory information about it. */ tags: PhoneNumberTags[]; /** A complete representation of the phone number without any implied formatting or validation. */ value: string; } /** Models the part of a phone number that has been identified. */ export declare class PhoneNumberComponent implements IPhoneNumberComponent { type: ComponentOfPhoneNumber; /** The value of the part of the phone number that has been identified with no implied formatting. */ value: string; constructor(data?: IPhoneNumberComponent); init(_data?: any): void; static fromJS(data: any): PhoneNumberComponent; toJSON(data?: any): any; clone(): PhoneNumberComponent; } /** Models the part of a phone number that has been identified. */ export interface IPhoneNumberComponent { type: ComponentOfPhoneNumber; /** The value of the part of the phone number that has been identified with no implied formatting. */ value: string; } /** Defines a set of tags providing additional information about a phone number. |Enum Value|Description| |--|--| |Cellular|The phone number is for a cell phone.| |Landline|The phone number is a land line.| |Fax|The phone number is for fax.| |Pager|The phone number is for a pager.| |Support|The phone number is a customer support number.| |Person|The phone number is associated with a person.| |Organization|The phone number is associated with an organization.| */ export type PhoneNumberTags = "Cellular" | "Landline" | "Fax" | "Pager" | "Support" | "Person" | "Organization"; /** Defines the set of privacy controls that can be applied to imported financial data. |Enum Value|Description| |--|--| |AllPrivacyControls|Redact all potential PII. Equivalent to the combination of all possible options.| |AnonymizeAccountingEntity|The [Accounting Entity](https://developer.strongbox.link/guides.html#tocs_accountingentity) will be anonymized. This includes the company name(s), emails, phone numbers, addresses, identifiers, and contact methods.| |AnonymizeContactLists|All customer, vendor, and employee data will be anonymized.| |RedactCOADescription|Redact the `description` for [accounts](https://developer.strongbox.link/guides.html#tocs_account) in the Chart Of Accounts (free-form field).| |RedactCOAName|Redact the `name` for [accounts](https://developer.strongbox.link/guides.html#tocs_account) in the Chart Of Accounts (free-form field).| |RedactDocNoAndRefNo|Redact doc and ref numbers associated with transactions (free-form field).| |RedactTransactionDimensions|Redact dimension values in the [Transaction List](https://developer.strongbox.link/guides.html#tocs_transactionlist) (free-form field).| |RedactTransactionMemos|Redact memos/narrations attached to transactions (free-form field).| */ export type PrivacyControl = "AllPrivacyControls" | "AnonymizeAccountingEntity" | "AnonymizeContactLists" | "RedactCOADescription" | "RedactCOAName" | "RedactDocNoAndRefNo" | "RedactTransactionDimensions" | "RedactTransactionMemos"; /** Used to configure the receivables and payables that are collected from the accounting system. */ export declare class ReceivablesAndPayablesOptions implements IReceivablesAndPayablesOptions { reportingPeriod?: ImportReportingPeriod; /** A natural number greater than or equal to zero used to specify the total number of months, quarters, or years for which financial data is desired. The month-to-date, quarter-to-date, or year-to-date period is included in this count. For example, setting 'reportingPeriod' to 'FiscalYears' and 'numberOfReportingPeriods' to 3 should be interpreted as '2 full fiscal years and fiscal YTD'. Setting 'numberOfPeriods' to zero disables data collection. */ numberOfPeriods: number; constructor(data?: IReceivablesAndPayablesOptions); init(_data?: any): void; static fromJS(data: any): ReceivablesAndPayablesOptions; toJSON(data?: any): any; clone(): ReceivablesAndPayablesOptions; } /** Used to configure the receivables and payables that are collected from the accounting system. */ export interface IReceivablesAndPayablesOptions { reportingPeriod?: ImportReportingPeriod; /** A natural number greater than or equal to zero used to specify the total number of months, quarters, or years for which financial data is desired. The month-to-date, quarter-to-date, or year-to-date period is included in this count. For example, setting 'reportingPeriod' to 'FiscalYears' and 'numberOfReportingPeriods' to 3 should be interpreted as '2 full fiscal years and fiscal YTD'. Setting 'numberOfPeriods' to zero disables data collection. */ numberOfPeriods: number; } /** Models account totals for a specific reporting period. */ export declare class ReportedAccountTotals implements IReportedAccountTotals { /** The first day of the reporting period (inclusive). */ fromDate: string; /** The last day for the reporting period (inclusive). */ toDate: string; /** Lists the totals for each account for the given reporting period. */ totalsByAccount: AccountSummary[]; constructor(data?: IReportedAccountTotals); init(_data?: any): void; static fromJS(data: any): ReportedAccountTotals; toJSON(data?: any): any; clone(): ReportedAccountTotals; } /** Models account totals for a specific reporting period. */ export interface IReportedAccountTotals { /** The first day of the reporting period (inclusive). */ fromDate: string; /** The last day for the reporting period (inclusive). */ toDate: string; /** Lists the totals for each account for the given reporting period. */ totalsByAccount: AccountSummary[]; } /** Specifies the time period for which accounting and other financial data is prepared. |Enum Value|Description| |--|--| |Months|The reporting period is monthly (full months only).| |MonthsAndMTD|The reporting period is monthly and includes the month-to-date period.| |FiscalQuarters|The reporting period is quarterly (full quarters only); aligned to the fiscal year for the accounting entity.| |CalendarQuarters|The reporting period is quarterly (full quarters only); aligned to the calendar year.| |CalendarQuartersAndQtd|The reporting period is quarterly (full quarters only) and includes the quarter-to-date period; aligned to the calendar year.| |FiscalQuartersAndQTD|The reporting period is quarterly and includes the quarter-to-date period; aligned to the fiscal year for the accounting entity.| |FiscalYears|The reporting period is annual (full years only); aligned to the fiscal year for the accounting entity.| |FiscalYearsAndYTD|The reporting period is annual and includes the fiscal year-to-date period; aligned to the fiscal year for the accounting entity.| |FiscalYearsAndTTM|The reporting period is annual (full years only) and includes the TTM period; aligned to the fiscal year for the accounting entity.| |InterimYears|An interim year is similar to a YTD period, but is defined as the number of full months completed in the current fiscal year, and the same period for prior fiscal years.
The periods are typically labelled "6m17" and "6m18", etc.| |Rolling12Months|The reporting period is based on annualized data from rolling 12 month periods.| |CalendarYears|The reporting period is the calendar year (full years only).| |CalendarYearsAndYTD|The reporting period is the calendar year and includes the year-to-date period.| */ export type ReportingPeriod = "Months" | "MonthsAndMTD" | "FiscalQuarters" | "CalendarQuarters" | "CalendarQuartersAndQtd" | "FiscalQuartersAndQTD" | "FiscalYears" | "FiscalYearsAndYTD" | "FiscalYearsAndTTM" | "InterimYears" | "Rolling12Months" | "CalendarYears" | "CalendarYearsAndYTD"; /** Models a reporting period being compared against a baseline period. */ export declare class ReportingPeriodComparison implements IReportingPeriodComparison { /** A label for the reporting periods being compared. For example, "FY19 to FY20". */ label: string; reportingPeriod: ReportingPeriodDescriptor; baselinePeriod: ReportingPeriodDescriptor; constructor(data?: IReportingPeriodComparison); init(_data?: any): void; static fromJS(data: any): ReportingPeriodComparison; toJSON(data?: any): any; clone(): ReportingPeriodComparison; } /** Models a reporting period being compared against a baseline period. */ export interface IReportingPeriodComparison { /** A label for the reporting periods being compared. For example, "FY19 to FY20". */ label: string; reportingPeriod: ReportingPeriodDescriptor; baselinePeriod: ReportingPeriodDescriptor; } /** Describes a reporting period including the start and end dates (inclusive). */ export declare class ReportingPeriodDescriptor implements IReportingPeriodDescriptor { /** A friendly label for the reporting period. For example "FY 2021". */ label: string; /** The start date of the reporting period for which the financial data was prepared (inclusive). May be null for point-in-time statements such as the Balance Sheet. */ fromDate: string; /** The end date of the reporting period for which the financial data was prepared (inclusive). */ toDate?: string; constructor(data?: IReportingPeriodDescriptor); init(_data?: any): void; static fromJS(data: any): ReportingPeriodDescriptor; toJSON(data?: any): any; clone(): ReportingPeriodDescriptor; } /** Describes a reporting period including the start and end dates (inclusive). */ export interface IReportingPeriodDescriptor { /** A friendly label for the reporting period. For example "FY 2021". */ label: string; /** The start date of the reporting period for which the financial data was prepared (inclusive). May be null for point-in-time statements such as the Balance Sheet. */ fromDate: string; /** The end date of the reporting period for which the financial data was prepared (inclusive). */ toDate?: string; } /** Specifies styles for line items that can appear in a financial statement. |Enum Value|Description| |--|--| |Account|The line item represents an account from the business's Chart Of Accounts.| |Subtotal|The line item represents a subtotal.| |GrandTotal|The line item represents a grand total.| |SectionHeader|The line item represents a section header.| |SectionFooter|The line item represents a section footer.| */ export type StyleClasses = "Account" | "Subtotal" | "GrandTotal" | "SectionHeader" | "SectionFooter"; /** Models information about a supplemental field available as part of transactional data. */ export declare class SupplementalFieldDescriptor implements ISupplementalFieldDescriptor { /** An identifier for the supplemental field. */ id: string; dataType: FieldDataType; /** Specifies a user friendly label for the field. */ label: string; constructor(data?: ISupplementalFieldDescriptor); init(_data?: any): void; static fromJS(data: any): SupplementalFieldDescriptor; toJSON(data?: any): any; clone(): SupplementalFieldDescriptor; } /** Models information about a supplemental field available as part of transactional data. */ export interface ISupplementalFieldDescriptor { /** An identifier for the supplemental field. */ id: string; dataType: FieldDataType; /** Specifies a user friendly label for the field. */ label: string; } /** Models the value of a supplemental field included with transaction data. */ export declare class SupplementalFieldValue implements ISupplementalFieldValue { /** An identifier for the supplemental field. */ id: string; /** The value of the supplemental field, represented as a string. Refer to the data type of the field to interpret the value. */ value?: string | undefined; constructor(data?: ISupplementalFieldValue); init(_data?: any): void; static fromJS(data: any): SupplementalFieldValue; toJSON(data?: any): any; clone(): SupplementalFieldValue; } /** Models the value of a supplemental field included with transaction data. */ export interface ISupplementalFieldValue { /** An identifier for the supplemental field. */ id: string; /** The value of the supplemental field, represented as a string. Refer to the data type of the field to interpret the value. */ value?: string | undefined; } /** Models an accounting transaction. */ export declare class Transaction implements ITransaction { /** The set of account entries that make up the transaction. */ entries: TransactionEntry[]; /** A unique identifier for this transaction within the scope of the Dataset. */ id: string; /** The date on which the transaction occurred for financial reporting purposes. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ reportingDate: string; /** The date on which the transaction was last modified, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ lastModifiedDate?: string | undefined; /** The date on which the transaction was created, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ creationDate?: string | undefined; /** The type of transaction as labeled by the source accounting system. May be null or empty. */ type?: string | undefined; constructor(data?: ITransaction); init(_data?: any): void; static fromJS(data: any): Transaction; toJSON(data?: any): any; clone(): Transaction; } /** Models an accounting transaction. */ export interface ITransaction { /** The set of account entries that make up the transaction. */ entries: TransactionEntry[]; /** A unique identifier for this transaction within the scope of the Dataset. */ id: string; /** The date on which the transaction occurred for financial reporting purposes. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ reportingDate: string; /** The date on which the transaction was last modified, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ lastModifiedDate?: string | undefined; /** The date on which the transaction was created, if known. This date is serialized to a string using the "YYYY-MM-DD" format as defined by ISO 8601-1:2019. */ creationDate?: string | undefined; /** The type of transaction as labeled by the source accounting system. May be null or empty. */ type?: string | undefined; } /** Models additional accounting dimensions such as Business Relations, Products/Services, QuickBooks 'Classes', and Xero 'Tracking Categories' that can be associated with transactional data entries. */ export declare class TransactionDimension implements ITransactionDimension { /** An identifier for the transaction dimension. */ id: string; /** A label for the transaction dimension. For example, 'Department'. */ label: string; constructor(data?: ITransactionDimension); init(_data?: any): void; static fromJS(data: any): TransactionDimension; toJSON(data?: any): any; clone(): TransactionDimension; } /** Models additional accounting dimensions such as Business Relations, Products/Services, QuickBooks 'Classes', and Xero 'Tracking Categories' that can be associated with transactional data entries. */ export interface ITransactionDimension { /** An identifier for the transaction dimension. */ id: string; /** A label for the transaction dimension. For example, 'Department'. */ label: string; } /** Models the value of a transaction dimension that was assigned to an individual transactional data entry. */ export declare class TransactionDimensionTag implements ITransactionDimensionTag { /** An identifier for dimension associated with this tag. */ dimensionId: string; /** An identifier for the dimension tag. */ id?: string | undefined; /** A label for the dimension tag. */ label?: string | undefined; constructor(data?: ITransactionDimensionTag); init(_data?: any): void; static fromJS(data: any): TransactionDimensionTag; toJSON(data?: any): any; clone(): TransactionDimensionTag; } /** Models the value of a transaction dimension that was assigned to an individual transactional data entry. */ export interface ITransactionDimensionTag { /** An identifier for dimension associated with this tag. */ dimensionId: string; /** An identifier for the dimension tag. */ id?: string | undefined; /** A label for the dimension tag. */ label?: string | undefined; } /** A transaction entry. */ export declare class TransactionEntry implements ITransactionEntry { /** Values for any additional dimensions for the transaction entry that may be available depending on the accounting system and organization. */ dimensionTags: TransactionDimensionTag[]; /** An identifier for the account affected by this transaction entry. */ accountId: string; entry: DoubleEntryAmount; /** An optional memorandum for the entry. May be null or empty. */ memo?: string | undefined; /** Defines an ordering for the transaction entry and may be used as an identifier that is unique within the scope of the transaction. Please be aware that this does not necessarily correspond to the visual ordering of the entry as it would appear in the accounting system. */ number: number; /** An optional alpha-numeric number assigned to the entry by the user or accounting system to the transaction entry. This field is primarily used to identify/find the transaction in the accounting system where searching by transaction id may not be convenient. */ docNo?: string | undefined; /** A secondary alpha-numeric number assigned to the entry by the user or accounting system to the transaction entry. This field is primarily used to identify/find the transaction in the accounting system where searching by transaction id may not be convenient. */ refNo?: string | undefined; /** Additional data fields associated with the transaction entry. */ supplementalFieldValues: SupplementalFieldValue[]; constructor(data?: ITransactionEntry); init(_data?: any): void; static fromJS(data: any): TransactionEntry; toJSON(data?: any): any; clone(): TransactionEntry; } /** A transaction entry. */ export interface ITransactionEntry { /** Values for any additional dimensions for the transaction entry that may be available depending on the accounting system and organization. */ dimensionTags: TransactionDimensionTag[]; /** An identifier for the account affected by this transaction entry. */ accountId: string; entry: DoubleEntryAmount; /** An optional memorandum for the entry. May be null or empty. */ memo?: string | undefined; /** Defines an ordering for the transaction entry and may be used as an identifier that is unique within the scope of the transaction. Please be aware that this does not necessarily correspond to the visual ordering of the entry as it would appear in the accounting system. */ number: number; /** An optional alpha-numeric number assigned to the entry by the user or accounting system to the transaction entry. This field is primarily used to identify/find the transaction in the accounting system where searching by transaction id may not be convenient. */ docNo?: string | undefined; /** A secondary alpha-numeric number assigned to the entry by the user or accounting system to the transaction entry. This field is primarily used to identify/find the transaction in the accounting system where searching by transaction id may not be convenient. */ refNo?: string | undefined; /** Additional data fields associated with the transaction entry. */ supplementalFieldValues: SupplementalFieldValue[]; } /** Used to configure the transactional data that is collected from the accounting system. */ export declare class TransactionImportOptions implements ITransactionImportOptions { basisOfAccountingPreference?: BasisOfAccountingPreference; reportingPeriod?: ImportReportingPeriod; /** A natural number greater than or equal to zero used to specify the total number of months, quarters, or years for which financial data is desired. The month-to-date, quarter-to-date, or year-to-date period is included in this count. For example, setting 'reportingPeriod' to 'FiscalYears' and 'numberOfReportingPeriods' to 3 should be interpreted as '2 full fiscal years and fiscal YTD'. Setting 'numberOfPeriods' to zero disables data collection. */ numberOfPeriods: number; constructor(data?: ITransactionImportOptions); init(_data?: any): void; static fromJS(data: any): TransactionImportOptions; toJSON(data?: any): any; clone(): TransactionImportOptions; } /** Used to configure the transactional data that is collected from the accounting system. */ export interface ITransactionImportOptions { basisOfAccountingPreference?: BasisOfAccountingPreference; reportingPeriod?: ImportReportingPeriod; /** A natural number greater than or equal to zero used to specify the total number of months, quarters, or years for which financial data is desired. The month-to-date, quarter-to-date, or year-to-date period is included in this count. For example, setting 'reportingPeriod' to 'FiscalYears' and 'numberOfReportingPeriods' to 3 should be interpreted as '2 full fiscal years and fiscal YTD'. Setting 'numberOfPeriods' to zero disables data collection. */ numberOfPeriods: number; } /** Models the complete set of accounting transactions for a given time period. */ export declare class TransactionList implements ITransactionList { /** Defines the set of supplemental data fields included with the transactional data, if any. */ supplementalFields: SupplementalFieldDescriptor[]; /** A list of the dimensions that are available as part of the transactional data. The set of dimensions may vary by accounting system and even by each organization.

Examples of dimensions are Business Relations, Products/Services, QuickBooks 'Classes', and Xero 'Tracking Categories'. */ dimensions: TransactionDimension[]; /** Transactions on or after this date are included. */ fromDate: string; /** Transactions on or before this date are included. */ toDate: string; /** The complete set of accounting transactions for the specified time period. */ transactions: Transaction[]; constructor(data?: ITransactionList); init(_data?: any): void; static fromJS(data: any): TransactionList; toJSON(data?: any): any; clone(): TransactionList; } /** Models the complete set of accounting transactions for a given time period. */ export interface ITransactionList { /** Defines the set of supplemental data fields included with the transactional data, if any. */ supplementalFields: SupplementalFieldDescriptor[]; /** A list of the dimensions that are available as part of the transactional data. The set of dimensions may vary by accounting system and even by each organization.

Examples of dimensions are Business Relations, Products/Services, QuickBooks 'Classes', and Xero 'Tracking Categories'. */ dimensions: TransactionDimension[]; /** Transactions on or after this date are included. */ fromDate: string; /** Transactions on or before this date are included. */ toDate: string; /** The complete set of accounting transactions for the specified time period. */ transactions: Transaction[]; } /** Models a Vertical Analysis */ export declare class VerticalAnalysis implements IVerticalAnalysis { /** Information about the set of reporting periods included in the vertical analysis. */ reportingPeriods: ReportingPeriodDescriptor[]; incomeStatement: IncomeStatementVerticalAnalysis; balanceSheet: BalanceSheetVerticalAnalysis; constructor(data?: IVerticalAnalysis); init(_data?: any): void; static fromJS(data: any): VerticalAnalysis; toJSON(data?: any): any; clone(): VerticalAnalysis; } /** Models a Vertical Analysis */ export interface IVerticalAnalysis { /** Information about the set of reporting periods included in the vertical analysis. */ reportingPeriods: ReportingPeriodDescriptor[]; incomeStatement: IncomeStatementVerticalAnalysis; balanceSheet: BalanceSheetVerticalAnalysis; } /** Comparative data representing a Vertical Analysis of a single line item appearing on a financial statement. */ export declare class VerticalAnalysisLineItem implements IVerticalAnalysisLineItem { /** An identifier for the line item. */ id: string; accountRef?: AccountReference; /** The line item caption, which is label for the line item as it would appear on the statement. */ caption: string; lineItemType: LineItemType; /** An identifier for the line item to which this line item is being compared, if applicable. */ baselineFigureId?: string | undefined; /** The results of comparing this line item to the comparand line item, by reporting period. */ comparativeData: VerticalComparison[]; /** Each line item may contain a set of subtotal lines. */ subtotals: VerticalAnalysisLineItem[]; constructor(data?: IVerticalAnalysisLineItem); init(_data?: any): void; static fromJS(data: any): VerticalAnalysisLineItem; toJSON(data?: any): any; clone(): VerticalAnalysisLineItem; } /** Comparative data representing a Vertical Analysis of a single line item appearing on a financial statement. */ export interface IVerticalAnalysisLineItem { /** An identifier for the line item. */ id: string; accountRef?: AccountReference; /** The line item caption, which is label for the line item as it would appear on the statement. */ caption: string; lineItemType: LineItemType; /** An identifier for the line item to which this line item is being compared, if applicable. */ baselineFigureId?: string | undefined; /** The results of comparing this line item to the comparand line item, by reporting period. */ comparativeData: VerticalComparison[]; /** Each line item may contain a set of subtotal lines. */ subtotals: VerticalAnalysisLineItem[]; } /** Models a comparison between two values calculated as part of a vertical analysis. */ export declare class VerticalComparison implements IVerticalComparison { /** The value of the metric being compared to the `comparandValue`. */ value: number; /** The `value` is compared to the `comparandValue`. */ comparandValue: number; percentageRatio: PercentageValue; constructor(data?: IVerticalComparison); init(_data?: any): void; static fromJS(data: any): VerticalComparison; toJSON(data?: any): any; clone(): VerticalComparison; } /** Models a comparison between two values calculated as part of a vertical analysis. */ export interface IVerticalComparison { /** The value of the metric being compared to the `comparandValue`. */ value: number; /** The `value` is compared to the `comparandValue`. */ comparandValue: number; percentageRatio: PercentageValue; } /** Models a Webhook Endpoint that will be invoked whenever a configured event occurs within the Strongbox Platform. */ export declare class WebhookEndpoint implements IWebhookEndpoint { /** The time at which the webhook was created. */ creationTime: string; /** The set of events for which the webhook will be invoked. */ eventTypes: string[]; /** An identifier for the Webhook Endpoint. */ id: string; /** A secret used in combination with HMAC SHA256 to sign requests that are sent to the webhook endpoint. */ sharedSecret: string; /** The absolute URL to the endpoint that will be called. The URL must use the `https` scheme. */ url: string; constructor(data?: IWebhookEndpoint); init(_data?: any): void; static fromJS(data: any): WebhookEndpoint; toJSON(data?: any): any; clone(): WebhookEndpoint; } /** Models a Webhook Endpoint that will be invoked whenever a configured event occurs within the Strongbox Platform. */ export interface IWebhookEndpoint { /** The time at which the webhook was created. */ creationTime: string; /** The set of events for which the webhook will be invoked. */ eventTypes: string[]; /** An identifier for the Webhook Endpoint. */ id: string; /** A secret used in combination with HMAC SHA256 to sign requests that are sent to the webhook endpoint. */ sharedSecret: string; /** The absolute URL to the endpoint that will be called. The URL must use the `https` scheme. */ url: string; } /** Models a list of Webhook Endpoints. */ export declare class WebhookEndpointList implements IWebhookEndpointList { /** The list of Webhook Endpoints. */ webhookEndpoints: WebhookEndpoint[]; constructor(data?: IWebhookEndpointList); init(_data?: any): void; static fromJS(data: any): WebhookEndpointList; toJSON(data?: any): any; clone(): WebhookEndpointList; } /** Models a list of Webhook Endpoints. */ export interface IWebhookEndpointList { /** The list of Webhook Endpoints. */ webhookEndpoints: WebhookEndpoint[]; } /** Models a webhook endpoint that will be invoked whenever a configured event occurs within the Strongbox Platform. */ export declare class WebhookEndpointParameters implements IWebhookEndpointParameters { /** The set of events for which the webhook will be invoked. */ events: string[]; /** The absolute URL to the endpoint that will be called. The URL must use the `https` scheme. */ url: string; constructor(data?: IWebhookEndpointParameters); init(_data?: any): void; static fromJS(data: any): WebhookEndpointParameters; toJSON(data?: any): any; clone(): WebhookEndpointParameters; } /** Models a webhook endpoint that will be invoked whenever a configured event occurs within the Strongbox Platform. */ export interface IWebhookEndpointParameters { /** The set of events for which the webhook will be invoked. */ events: string[]; /** The absolute URL to the endpoint that will be called. The URL must use the `https` scheme. */ url: string; } /** Models information about a website. */ export declare class Website implements IWebsite { /** The URL of the website without any implied formatting or validation. */ url: string; constructor(data?: IWebsite); init(_data?: any): void; static fromJS(data: any): Website; toJSON(data?: any): any; clone(): Website; } /** Models information about a website. */ export interface IWebsite { /** The URL of the website without any implied formatting or validation. */ url: string; } /** Represents the end of a fiscal, tax, or other year used for reporting. */ export declare class YearEnd implements IYearEnd { /** A number between 1-12 representing the month considered to be the end of the year for reporting purposes. */ month: number; constructor(data?: IYearEnd); init(_data?: any): void; static fromJS(data: any): YearEnd; toJSON(data?: any): any; clone(): YearEnd; } /** Represents the end of a fiscal, tax, or other year used for reporting. */ export interface IYearEnd { /** A number between 1-12 representing the month considered to be the end of the year for reporting purposes. */ month: number; } export interface FileResponse { data: Blob; status: number; fileName?: string; headers?: { [name: string]: any; }; }