import QuickBooks from "node-quickbooks"; export interface DrillDownTotals { /** * Matching *lines*, not transactions. * * The General Ledger reports one row per posting, so a journal entry with two * lines in this account is two rows there and one transaction here. Comparing * the report's row count against a transaction count reports a shortfall on * any account that carries a multi-line entry — which on a bank account funded * by payroll is every period. */ postingCount: number; totalDebits: number; totalCredits: number; } export interface CrossCheck { gl: { postingCount: number; totalDebits: number; totalCredits: number; }; /** Absent when the two figures are not comparable; see `note`. */ shortfall?: { postings: number; debits: number; credits: number; }; note?: string; } /** * Read the General Ledger for the same account and period and compare. * * `comparable` is false when the drill-down was scoped to one account but the * account has children: the report rolls sub-accounts into the parent and the * entity path matches the exact account id, so the two are measuring different * things and any difference between them says nothing about coverage. */ export declare function crossCheckAgainstGL(client: QuickBooks, args: { accountId: string; classification?: string; startDate: string; endDate: string; departmentId?: string; comparable: boolean; drill: DrillDownTotals; }): Promise; /** The lines to append to the drill-down summary, if any. */ export declare function renderCrossCheck(check: CrossCheck | undefined, money: (n: number) => string): string[]; //# sourceMappingURL=gl-crosscheck.d.ts.map