get_xero_group_report
get_xero_group_reportProfit and Loss or Balance Sheet for SEVERAL Xero organisations at once, side by side: one row per account, one column per organisation, and a Total column. Read-only. Every figure and every total is added up on Invio's server - relay the returned numbers, never add, subtract or round them yourself. THIS IS A SIDE-BY-SIDE SUM, NOT A CONSOLIDATION. Intercompany balances (loans, sales or recharges between these organisations) are NOT eliminated and are counted on both sides; accounts are matched only by exact account code, or by exact name where an account has no code - there is NO account mapping, so differently-named or differently-numbered accounts stay as separate rows; and NO currency is converted. Never call the result consolidated statements: say "combined" or "side by side", and say plainly that intercompany items are still in it. SINGLE CURRENCY ONLY: if the chosen organisations do not all report in the same base currency the call is refused and each organisation's currency is listed - tell the person, and offer to run it for the organisations that share a currency. By default it covers EVERY organisation this connector token may use within the account's plan limit (organisations outside the limit are named in warnings); pass companies - display names exactly as list_xero_organisations shows them - to choose some. A team member restricted to certain organisations only ever gets those. IF ANY ONE ORGANISATION CANNOT BE READ (access revoked, a missing report permission, a rate limit, a timeout) THE WHOLE CALL FAILS and names it, with the reason - there is NO partial total. Tell the person which organisation failed and why; only if they agree to leave it out, call again with companies naming just the others. report "profit_and_loss" takes fromDate and toDate TOGETHER (YYYY-MM-DD) or neither (Xero then gives the CURRENT calendar month) - never one alone; "balance_sheet" takes date (Xero reports it as at the END of that month, not the exact day - say "as at [end of month]") and uses only the as-at column per organisation, not Xero's prior-year comparison column. One date range is applied to every organisation, but organisations can have different financial year ends: organisationDetails[].financialYear shows each one's - for "this financial year", only use this tool if they agree, otherwise say they differ. Each row's matchedBy says how it was matched ("account_code", "account_name", "report_label" for subtotals, or "single_organisation" when only one organisation has it); values lines up with columns (organisations in order, Total last) and a null means that organisation has no figure on that row - not zero. Always state the currency and the period when relaying a figure, and report every entry in warnings and every row conflicts to the person - do not smooth them over. Where one organisation is wanted on its own, use get_xero_profit_and_loss or get_xero_balance_sheet instead. Up to 30 organisations per call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | balance_sheet only. As-at date, YYYY-MM-DD. Xero reports the balance sheet as at the END of the month containing this date, not the exact day. Omit for today. | |
| report | Yes | Which report to add up across the organisations: "profit_and_loss" or "balance_sheet". | |
| toDate | No | profit_and_loss only. End date, YYYY-MM-DD. Supply together with fromDate, or omit both. Never alone. | |
| fromDate | No | profit_and_loss only. Start date, YYYY-MM-DD. Supply together with toDate, or omit both (Xero then uses the CURRENT calendar month). Never alone. | |
| companies | No | Which organisations to include, by display name exactly as list_xero_organisations shows them. Omit to include EVERY organisation this connector token may use within the account's plan limit. |