{"id":66715,"plugin_id":"plugin_asdk_app_69ff1dc7c6fc8191812c4f6ce41f6189","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-28T12:34:22.879Z","digest":"eb60626762b7400244fc7b4333f53a708671f0618f5e523fcd8b45d1766a6ef0","against":null,"payload":{"description":"Review the economy of one housing community in Solibo Home: expenses waiting for approval, supplier invoices to approve or reject, accounting actuals against budget, liquidity and bank balances, the accounting entries behind a number, produced customer invoices and their payments, loans and insurance. Use when the user asks about money, bills, invoices, budget, økonomi, regnskap, fakturaer, lån or forsikring for a company, or wants to approve or reject an expense or a supplier invoice.","included_files":[{"relative_path":"references/tool-notes.md","size_in_bytes":5387}],"name":"economy-review","skill_md_contents":"---\nname: economy-review\ndescription: \"Review the economy of one housing community in Solibo Home: expenses waiting for approval, supplier invoices to approve or reject, accounting actuals against budget, liquidity and bank balances, the accounting entries behind a number, produced customer invoices and their payments, loans and insurance. Use when the user asks about money, bills, invoices, budget, økonomi, regnskap, fakturaer, lån or forsikring for a company, or wants to approve or reject an expense or a supplier invoice.\"\n---\n\n# Economy review\n\nWork on one company at a time: resolve it and call `set_working_company`, then omit `companyId`. Money\nquestions across many companies belong to the portfolio-sweeps skill; the one cross-company read that fits\nhere is `get_unapproved_invoices_overview`.\n\n## Start with what exists\n\n1. `get_economy_readiness`: `accountingAvailable`, `invoicingActive`, `unattestedExpenseCount`,\n   `unattestedSupplierInvoiceCount`. A missing flag means unknown, and `accountingAvailable` false means\n   \"could not be confirmed\", not \"no accounting\".\n2. `get_company_economy_overview` for the picture: `economyStatus`, `loans[]` and `insurances[]` (samples of\n   up to 20), `economicReports[]`, `unpaidInvoices[]` (supplier invoices).\n3. `get_economy_status` for available funds and bank balances. `availability` is AVAILABLE, UNAVAILABLE,\n   NOT_CONFIGURED, FORBIDDEN or UNKNOWN and describes bank statements only; an omitted amount is not zero;\n   `source` SYNTHETIC means fixture data, say so.\n\n## Periodic review\n\nThe usual monthly set is `search_expenses`, `get_accounting_overview`, `get_invoices`,\n`get_company_economy_overview` and, if the user wants the board view, `get_board_report`.\n\n- `get_accounting_overview`: `companyId` as an integer, `periodStart` inclusive and `periodEnd` exclusive\n  (YYYY-MM-DD, 1 to 1096 days). `totals[]` per currency holds actual and budget income, expenses and net\n  with variances; `dimensions[]` are projects and departments; `liquidity[]`. Amounts are decimal strings.\n  Compare currencies separately. `budgetAvailable` false means \"no budget\", never zero. Report\n  `company.dataAsOf` and `company.dataStatus` with the numbers.\n- `search_accounting_entries` for the lines behind a figure: same period arguments, `companyId` (integer),\n  `accountNumbers` (1000 to 9999), `projectIds`, `departmentIds` or `supplierIds` (one company only),\n  `search` of 3 to 100 characters matching account, project, department or supplier names, not voucher\n  text. Pages hold at most 100 rows: follow `paging.next`. Do not page through everything to compute a total\n  that the overview already gives.\n- `get_accounting_project` for one project; `projectId` comes from `dimensions[].id` in the overview.\n- `search_expenses` with `status` FOR_APPROVAL, APPROVED or REJECTED and `dateOfPurchaseFrom` or\n  `dateOfPurchaseTo`. `companyId` on an item is filled only when `companyIds` named one company; when\n  `companyScopeResolved` is false, search again with one company before `get_expense` or any decision.\n- `get_invoices` lists supplier invoices: `archive` false is the approval queue, a `year` implies the\n  archive (0 means every year). `tripletexId` is the id that approve and reject take.\n- Produced customer invoices: `get_company_invoice_history` with `periodStart` and `periodEnd`, or\n  `get_invoice_history_for_companies` with `companyIds`; `open` true for unpaid. Cursors may start with\n  \"portfolio:\", pass them back unchanged. `get_invoice_payments` lists the payments of one customer invoice\n  (`invoiceId` from the history). Keep supplier invoices and customer invoices apart in the answer.\n- `get_loans`, `get_insurances` and `get_economic_reports` with `companyId`; loan and policy numbers are\n  masked to the last four digits.\n\n## Approvals\n\nEvery approval or rejection is a preview followed by a confirmation. The user names the exact item\n(supplier or submitter, amount, date) before you preview. One item per preview; never \"approve all\".\n\n- Expenses: find the item with `search_expenses` scoped to the company, then `accept_expense` or\n  `reject_expense` (`reason` is shown to the submitter; rejecting needs board-member access). Show the\n  preview, and after the user approves call `confirm_pending_write` with `previewId` and `confirmed` true.\n- Supplier invoices: `get_company_supplier_invoice_approval_status` gives `forApprovalInvoiceIds` and\n  `invoices[].tripletexId`. If `invoiceRowsUnavailable` is true there are no ids and approval must happen in\n  Solibo Home; say so. `approve_supplier_invoice` or `reject_supplier_invoice` take `invoiceId` set to the\n  `tripletexId`; an id outside the queue is refused before anything changes.\n- Across companies: `get_unapproved_invoices_overview` with `companyIds` (narrow it if it reports too many\n  rows), `get_supplier_invoice_approval_counts` for cached counts. Companies listed as unverified are\n  unknown, not zero.\n\nA confirmation result with `pendingAction.status` DRY_RUN changed nothing. An outcome-unknown error means\ncheck Solibo Home before repeating.\n\n## Identifiers\n\nKID numbers, bank account numbers, loan numbers and policy numbers are masked by default. Use\n`reveal_loan_numbers` or `reveal_insurance_policy_numbers` only for one narrow purpose the user has stated\nand approved; they are audited and default to five rows. Decline \"all identifiers\" exports and offer a masked\nreport instead.\n\n## Answer shape\n\nA table with period, currency, actual, budget and variance where available; the data freshness; a list of\ndecisions waiting with ids and amounts; then what could not be read. Never present unverified or\nunavailable data as zero.\n\n`references/tool-notes.md` lists the arguments and result fields of every tool named here.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}