get_unreconciled_bank_lines
Get Unreconciled Bank Lines
List unreconciled bank statement lines with optional filters for journal, date range, and minimum amount.
bank_reconciliation
1
{"type": "object", "properties": {"journal_id": {"type": "integer", "description": "Journal ID to filter by"}, "date_from": {"type": "string", "description": "Start date (YYYY-MM-DD)"}, "date_to": {"type": "string", "description": "End date (YYYY-MM-DD)"}, "min_amount": {"type": "number", "description": "Minimum absolute amount"}, "limit": {"type": "integer", "description": "Max records to return", "default": 50}}}
account.bank.statement.line.search_read
get_unreconciled_receipts
Get Unreconciled Receipts
List unreconciled Outstanding Receipts entries on the specified account (default 1122).
bank_reconciliation
1
{"type": "object", "properties": {"account_code": {"type": "string", "description": "Account code prefix", "default": "1122"}}}
match_bank_line_to_payments
Match Bank Line to Payments
Match a bank statement line to one or more payment journal items for reconciliation.
bank_reconciliation
3
{"type": "object", "properties": {"statement_line_id": {"type": "integer", "description": "Bank statement line ID"}, "move_line_ids": {"type": "array", "items": {"type": "integer"}, "description": "Journal item IDs to match"}}, "required": ["statement_line_id", "move_line_ids"]}
fusion_accounting_core.group_fusion_accounting_manager
auto_reconcile_bank_lines
Auto-Reconcile Bank Lines
Run Odoo's built-in auto-reconciliation engine on all unreconciled bank statement lines.
bank_reconciliation
3
{"type": "object", "properties": {"company_id": {"type": "integer"}}}
fusion_accounting_core.group_fusion_accounting_manager
apply_reconcile_model
Apply Reconciliation Model
Apply a specific reconciliation model to a bank statement line.
bank_reconciliation
3
{"type": "object", "properties": {"model_id": {"type": "integer"}, "statement_line_id": {"type": "integer"}}, "required": ["model_id", "statement_line_id"]}
fusion_accounting_core.group_fusion_accounting_manager
unmatch_bank_line
Unmatch Bank Line
Undo a bank statement line reconciliation.
bank_reconciliation
3
{"type": "object", "properties": {"statement_line_id": {"type": "integer"}}, "required": ["statement_line_id"]}
fusion_accounting_core.group_fusion_accounting_manager
get_reconcile_suggestions
Get Reconciliation Suggestions
Get available reconciliation models for a bank statement line.
bank_reconciliation
1
{"type": "object", "properties": {"statement_line_id": {"type": "integer"}}, "required": ["statement_line_id"]}
sum_payments_by_date
Sum Payments by Date
Sum payment journal items for a date range. IMPORTANT: You MUST pass journal_ids to filter to specific journals (e.g., the card/POS journal). Without journal_ids, returns totals across ALL company journals which will be misleadingly large. Use this to verify card batch deposit amounts against the card payment journal for the prior business day.
bank_reconciliation
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}, "journal_ids": {"type": "array", "items": {"type": "integer"}}}, "required": ["date_from", "date_to"]}
calculate_hst_balance
Calculate HST Balance
Calculate net HST position (collected minus ITCs) for a period.
hst_management
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_tax_report
Get Tax Report
Generate a tax report for a period using Odoo's reporting engine.
hst_management
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}, "report_ref": {"type": "string", "default": "account.generic_tax_report"}}}
find_missing_tax_invoices
Find Missing Tax Invoices
Find customer invoices with taxable products but no tax applied.
hst_management
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
find_missing_itc_bills
Find Missing ITC Bills
Find vendor bills without input tax credits.
hst_management
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_tax_return_status
Get Tax Return Status
Check the status of periodic tax returns.
hst_management
1
{"type": "object", "properties": {}}
generate_tax_return
Generate Tax Return
Refresh all tax return data.
hst_management
2
{"type": "object", "properties": {}}
fusion_accounting_core.group_fusion_accounting_manager
validate_tax_return
Validate Tax Return
Mark a tax return as validated.
hst_management
3
{"type": "object", "properties": {"return_id": {"type": "integer"}}, "required": ["return_id"]}
fusion_accounting_core.group_fusion_accounting_manager
get_ar_aging
Get AR Aging
Get accounts receivable aging buckets (current, 30, 60, 90+ days).
accounts_receivable
1
{"type": "object", "properties": {}}
get_overdue_invoices
Get Overdue Invoices
List invoices past due with partner contact information.
accounts_receivable
1
{"type": "object", "properties": {"min_days_overdue": {"type": "integer", "default": 1}, "limit": {"type": "integer", "default": 50}}}
get_partner_balance
Get Partner Balance
[Tier 1: Read-only] Get a partner's AR and AP balance with open items. Shows: how much they owe us (receivable), how much we owe them (payable), and net balance. Use for "how much do we owe Pride Mobility?", "what's the balance for ADP?".
accounts_receivable
1
{"type": "object", "properties": {"partner_id": {"type": "integer", "description": "Partner ID (optional if partner_name provided)"}, "partner_name": {"type": "string", "description": "Partner name to search for (e.g. 'Pride Mobility')"}}}
send_followup
Send Follow-Up
Draft and send a follow-up email to a partner about overdue invoices.
accounts_receivable
2
{"type": "object", "properties": {"partner_id": {"type": "integer"}, "send_email": {"type": "boolean"}, "print_letter": {"type": "boolean"}, "email_subject": {"type": "string"}, "body": {"type": "string"}}, "required": ["partner_id"]}
fusion_accounting_core.group_fusion_accounting_manager
get_followup_report
Get Follow-Up Report
Get the HTML follow-up report for a partner.
accounts_receivable
1
{"type": "object", "properties": {"partner_id": {"type": "integer"}}, "required": ["partner_id"]}
reconcile_payment_to_invoice
Reconcile Payment to Invoice
Match a payment to an invoice by reconciling journal items.
accounts_receivable
3
{"type": "object", "properties": {"move_line_ids": {"type": "array", "items": {"type": "integer"}}}, "required": ["move_line_ids"]}
fusion_accounting_core.group_fusion_accounting_manager
get_unmatched_payments
Get Unmatched Payments
List payments not matched to invoices.
accounts_receivable
1
{"type": "object", "properties": {}}
get_ap_aging
Get AP Aging
Get accounts payable aging buckets.
accounts_payable
1
{"type": "object", "properties": {}}
find_duplicate_bills
Find Duplicate Bills
Detect potential duplicate vendor bills (same vendor + amount + date within window).
accounts_payable
1
{"type": "object", "properties": {"window_days": {"type": "integer", "default": 7}}}
match_bill_to_po
Match Bill to PO
Cross-reference bill lines to purchase order lines.
accounts_payable
1
{"type": "object", "properties": {"bill_id": {"type": "integer"}}, "required": ["bill_id"]}
get_unpaid_bills
Get Unpaid Bills
List vendor bills with outstanding balance.
accounts_payable
1
{"type": "object", "properties": {"partner_id": {"type": "integer"}, "limit": {"type": "integer", "default": 50}}}
verify_bill_taxes
Verify Bill Taxes
Check that bill tax matches fiscal position expectation.
accounts_payable
1
{"type": "object", "properties": {"bill_id": {"type": "integer"}}, "required": ["bill_id"]}
get_payment_schedule
Get Payment Schedule
Bills sorted by due date for cash planning.
accounts_payable
1
{"type": "object", "properties": {"days_ahead": {"type": "integer", "default": 30}}}
find_wrong_direction_balances
Find Wrong Direction Balances
Find accounts where balance direction contradicts account type.
journal_review
1
{"type": "object", "properties": {}}
find_duplicate_entries
Find Duplicate Entries
Detect entries with matching partner + amount + date + journal.
journal_review
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
find_wrong_account_entries
Find Wrong Account Entries
Product lines on unlikely accounts (e.g., revenue on tax account).
journal_review
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
find_sequence_gaps
Find Sequence Gaps
Find journal entries where made_sequence_gap is true.
journal_review
1
{"type": "object", "properties": {}}
find_draft_entries
Find Draft Entries
Draft entries older than specified days that should be posted or deleted.
journal_review
1
{"type": "object", "properties": {"min_age_days": {"type": "integer", "default": 30}}}
find_unreconciled_suspense
Find Unreconciled Suspense
Suspense/clearing accounts with non-zero balance.
journal_review
1
{"type": "object", "properties": {}}
verify_reconciliation_integrity
Verify Reconciliation Integrity
Check account.partial.reconcile consistency.
journal_review
1
{"type": "object", "properties": {}}
get_close_checklist
Get Close Checklist
Aggregate all domain checks into a period close checklist.
month_end
1
{"type": "object", "properties": {"period": {"type": "string", "description": "YYYY-MM format"}}}
get_unreconciled_counts
Get Unreconciled Counts
Per-account count of unreconciled items.
month_end
1
{"type": "object", "properties": {}}
find_entries_in_locked_period
Find Entries in Locked Period
Find entries after lock dates.
month_end
1
{"type": "object", "properties": {}}
get_accrual_status
Get Accrual Status
Balance on accrual accounts (vacation, sick, etc.).
month_end
1
{"type": "object", "properties": {"account_codes": {"type": "array", "items": {"type": "string"}}}}
run_hash_integrity_check
Run Hash Integrity Check
Verify journal entry hash chain integrity.
month_end
1
{"type": "object", "properties": {}}
get_period_summary
Get Period Summary
Trial balance for the closing period.
month_end
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}, "required": ["date_from", "date_to"]}
get_payroll_entries
Get Payroll Entries
Journal entries in payroll-related journals.
payroll_verification
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}, "journal_id": {"type": "integer"}}}
compare_payroll_to_bank
Compare Payroll to Bank
Cross-reference payroll cheques to bank statement lines.
payroll_verification
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}, "required": ["date_from", "date_to"]}
verify_source_deductions
Verify Source Deductions
CPP + EI + tax calculation verification against CRA tables.
payroll_verification
1
{"type": "object", "properties": {}}
get_cra_remittance_status
Get CRA Remittance Status
CRA payable balance vs payments made.
payroll_verification
1
{"type": "object", "properties": {}}
find_unmatched_payroll_cheques
Find Unmatched Payroll Cheques
Bank cheques without matching payroll entry.
payroll_verification
1
{"type": "object", "properties": {}}
get_stock_valuation
Get Stock Valuation
Stock In Hand balance and layers.
inventory
1
{"type": "object", "properties": {}}
get_price_differences
Get Price Differences
Entries on price difference account (PO price vs bill price).
inventory
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_cogs_ratio_by_category
Get COGS Ratio
COGS vs revenue per product category.
inventory
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
find_unusual_adjustments
Find Unusual Adjustments
Large inventory adjustment entries.
inventory
1
{"type": "object", "properties": {"threshold": {"type": "number", "default": 1000}}}
get_inventory_turnover
Get Inventory Turnover
Sales vs average inventory calculation.
inventory
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_adp_receivable_aging
Get ADP Receivable Aging
Aging on ADP Receivable account (1101).
adp
1
{"type": "object", "properties": {}}
match_adp_payment_to_invoice
Match ADP Payment to Invoice
Match ADP deposit to ADP invoices.
adp
3
{"type": "object", "properties": {"move_line_ids": {"type": "array", "items": {"type": "integer"}}}, "required": ["move_line_ids"]}
fusion_accounting_core.group_fusion_accounting_manager
verify_adp_split
Verify ADP Split
Check customer + ADP portion = invoice total.
adp
1
{"type": "object", "properties": {"invoice_id": {"type": "integer"}}, "required": ["invoice_id"]}
find_adp_without_payment
Find ADP Without Payment
ADP invoices without matching government deposit.
adp
1
{"type": "object", "properties": {}}
get_adp_summary
Get ADP Summary
Period summary of ADP billing vs collection.
adp
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
register_adp_batch_payment
Register ADP Batch Payment
[Tier 3: Requires user approval] Register payments for a batch of ADP invoices from a remittance advice. Takes a list of invoice numbers with payment amounts and a payment date. Registers each payment via Odoo's payment wizard, creating outstanding receipt entries (PBNK2) on account 1050. After this, use suggest_bank_line_matches on the bank deposit to match the outstanding receipts. Use this when the user uploads an ADP remittance advice screenshot and says "mark these paid".
adp
3
{"type": "object", "properties": {"invoices": {"type": "array", "items": {"type": "object", "properties": {"invoice_number": {"type": "string"}, "amount": {"type": "number"}}, "required": ["invoice_number", "amount"]}, "description": "List of invoices with number and payment amount"}, "payment_date": {"type": "string", "description": "Payment date from remittance (YYYY-MM-DD)"}, "journal_id": {"type": "integer", "description": "Bank journal ID (default 50 = Scotia Current)"}}, "required": ["invoices", "payment_date"]}
fusion_accounting_core.group_fusion_accounting_manager
get_profit_loss
Get Profit & Loss
Generate P&L report for a period.
reporting
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_balance_sheet
Get Balance Sheet
Generate balance sheet report.
reporting
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_trial_balance
Get Trial Balance
Generate trial balance report.
reporting
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_cash_flow
Get Cash Flow
Generate cash flow statement.
reporting
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
compare_periods
Compare Periods
Two period reports side by side for comparison.
reporting
1
{"type": "object", "properties": {"report_ref": {"type": "string"}, "period1_from": {"type": "string"}, "period1_to": {"type": "string"}, "period2_from": {"type": "string"}, "period2_to": {"type": "string"}}, "required": ["period1_from", "period1_to", "period2_from", "period2_to"]}
answer_financial_question
Answer Financial Question
Natural language to report query for financial questions.
reporting
1
{"type": "object", "properties": {"question": {"type": "string"}}, "required": ["question"]}
export_report
Export Report
Export a report to PDF or XLSX.
reporting
2
{"type": "object", "properties": {"report_ref": {"type": "string"}, "format": {"type": "string", "enum": ["pdf", "xlsx"]}, "date_from": {"type": "string"}, "date_to": {"type": "string"}}, "required": ["report_ref"]}
fusion_accounting_core.group_fusion_accounting_manager
get_invoicing_summary
Get Invoicing Summary
[Tier 1: Read-only] Get customer invoicing summary — monthly breakdown for a year, date range totals, or filtered by partner. Use this for questions like "how much did we invoice this year?", "show me invoicing by month", "how much did we bill ADP this quarter?".
reporting
1
{"type": "object", "properties": {"year": {"type": "integer", "description": "Year for monthly breakdown (default: current year)"}, "partner_name": {"type": "string", "description": "Filter by partner name (optional)"}, "date_from": {"type": "string", "description": "Start date for date range (YYYY-MM-DD)"}, "date_to": {"type": "string", "description": "End date for date range (YYYY-MM-DD)"}}}
get_billing_summary
Get Billing Summary
[Tier 1: Read-only] Get vendor billing (purchases) summary — monthly breakdown for a year or date range. Use for "how much are our bills this month?", "show me vendor bills by month".
reporting
1
{"type": "object", "properties": {"year": {"type": "integer"}, "partner_name": {"type": "string"}, "date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_collections_summary
Get Collections Summary
[Tier 1: Read-only] Get payment collections summary — how much was collected (customer payments received) in a period, broken down by partner. Use for "how much are we collecting this month?", "show me collections for March".
reporting
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
audit_posted_entry
Audit Posted Entry
Run all entry-level checks on a single journal entry.
audit
1
{"type": "object", "properties": {"move_id": {"type": "integer"}}, "required": ["move_id"]}
audit_account_balances
Audit Account Balances
Run all account-level checks (wrong direction, stale items).
audit
1
{"type": "object", "properties": {}}
audit_tax_compliance
Audit Tax Compliance
All tax checks (missing tax, wrong rate, exempt verification).
audit
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
audit_reconciliation_integrity
Audit Reconciliation Integrity
Verify partial/full reconcile consistency.
audit
1
{"type": "object", "properties": {}}
check_hash_chain
Check Hash Chain
Verify journal entry hash chain integrity.
audit
1
{"type": "object", "properties": {}}
check_sequence_gaps
Check Sequence Gaps
Check for sequence gaps in journals.
audit
1
{"type": "object", "properties": {}}
flag_entry
Flag Entry
Create a chatter note on a journal entry with flag and recommendation.
audit
2
{"type": "object", "properties": {"move_id": {"type": "integer"}, "flag": {"type": "string"}, "recommendation": {"type": "string"}}, "required": ["move_id"]}
fusion_accounting_core.group_fusion_accounting_manager
get_audit_status
Get Audit Status
Account audit status per tax return.
audit
1
{"type": "object", "properties": {}}
set_audit_status
Set Audit Status
Update review status (todo / reviewed / supervised / anomaly).
audit
2
{"type": "object", "properties": {"status_id": {"type": "integer"}, "status": {"type": "string", "enum": ["todo", "reviewed", "supervised", "anomaly"]}}, "required": ["status_id", "status"]}
fusion_accounting_core.group_fusion_accounting_manager
get_audit_trail
Get Audit Trail
Get mail.message history for a journal entry.
audit
1
{"type": "object", "properties": {"move_id": {"type": "integer"}}, "required": ["move_id"]}
run_full_audit
Run Full Audit
All checks across all domains for a period.
audit
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
get_audit_report
Get Audit Report
Summary of all audit findings with severity ratings.
audit
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
parse_payroll_summary
Parse Payroll Summary
Read pasted/uploaded payroll data from QBO or fusion_payroll.
payroll_management
1
{"type": "object", "properties": {"data": {"type": "string"}}, "required": ["data"]}
create_payroll_journal_entry
Create Payroll Journal Entry
Create a payroll journal entry with debit/credit lines.
payroll_management
3
{"type": "object", "properties": {"journal_id": {"type": "integer"}, "date": {"type": "string"}, "ref": {"type": "string"}, "lines": {"type": "array", "items": {"type": "object", "properties": {"account_id": {"type": "integer"}, "name": {"type": "string"}, "debit": {"type": "number"}, "credit": {"type": "number"}, "partner_id": {"type": "integer"}}}}}, "required": ["journal_id", "date", "lines"]}
fusion_accounting_core.group_fusion_accounting_manager
match_payroll_cheques
Match Payroll Cheques
Match bank cheques to payroll liabilities.
payroll_management
3
{"type": "object", "properties": {"statement_line_id": {"type": "integer"}, "move_line_ids": {"type": "array", "items": {"type": "integer"}}}, "required": ["statement_line_id", "move_line_ids"]}
fusion_accounting_core.group_fusion_accounting_manager
prepare_cra_payment
Prepare CRA Payment
Create CRA remittance payment entry.
payroll_management
3
{"type": "object", "properties": {"journal_id": {"type": "integer"}, "date": {"type": "string"}, "lines": {"type": "array"}}, "required": ["journal_id", "date", "lines"]}
fusion_accounting_core.group_fusion_accounting_manager
generate_t4
Generate T4
Trigger T4 generation via fusion_payroll.
payroll_management
2
{"type": "object", "properties": {}}
fusion_accounting_core.group_fusion_accounting_manager
generate_roe
Generate ROE
Trigger ROE generation via fusion_payroll.
payroll_management
2
{"type": "object", "properties": {}}
fusion_accounting_core.group_fusion_accounting_manager
get_payroll_cost_report
Get Payroll Cost Report
Period summary by employee/department.
payroll_management
1
{"type": "object", "properties": {"date_from": {"type": "string"}, "date_to": {"type": "string"}}}
search_partners
Search Partners
Search for vendors/contacts by name keyword. Use this to resolve bank line descriptions (e.g., "AMAZON") to the correct Odoo partner record before creating bills. Pass supplier_only=true to filter to vendors only.
accounts_payable
1
{"type": "object", "properties": {"keyword": {"type": "string", "description": "Name keyword to search (min 2 chars)"}, "supplier_only": {"type": "boolean", "description": "Only return suppliers/vendors"}, "limit": {"type": "integer"}}, "required": ["keyword"]}
find_similar_bank_lines
Find Similar Bank Lines
Search past RECONCILED bank lines with similar payment_ref descriptions. Returns the expense account, tax treatment, and partner used for each historical match. Use this to check how similar expenses were coded in the past before proposing a new bill.
accounts_payable
1
{"type": "object", "properties": {"keyword": {"type": "string", "description": "Keyword from payment_ref to search (min 3 chars)"}, "limit": {"type": "integer"}}, "required": ["keyword"]}
get_bank_line_details
Get Bank Line Details
Get full details of a single unreconciled bank statement line. Also searches for existing vendor bills matching the amount and date, and suggests a partner based on the payment description. Use this to check if a bill already exists before creating a new one.
bank_reconciliation
1
{"type": "object", "properties": {"line_id": {"type": "integer", "description": "Bank statement line ID"}}, "required": ["line_id"]}
create_vendor_bill
Create Vendor Bill
[Tier 3: Requires user approval] Create a vendor bill (account.move in_invoice) with expense lines and tax. Use after confirming the expense details with the user. Pass post=true to auto-post the bill after creation.
accounts_payable
3
{"type": "object", "properties": {"partner_id": {"type": "integer", "description": "Vendor partner ID"}, "invoice_date": {"type": "string", "description": "Bill date (YYYY-MM-DD)"}, "lines": {"type": "array", "items": {"type": "object", "properties": {"description": {"type": "string"}, "account_id": {"type": "integer"}, "price_unit": {"type": "number"}, "quantity": {"type": "number"}, "tax_ids": {"type": "array", "items": {"type": "integer"}}}}, "description": "Invoice line items"}, "post": {"type": "boolean", "description": "Auto-post the bill after creation"}}, "required": ["partner_id", "invoice_date", "lines"]}
register_bill_payment
Register Bill Payment
[Tier 3: Requires user approval] Register a payment on a posted vendor bill from a specific bank journal. Optionally reconcile the payment to a bank statement line. Use after create_vendor_bill to complete the full bill+payment+reconciliation flow.
accounts_payable
3
{"type": "object", "properties": {"bill_id": {"type": "integer", "description": "Posted bill ID (account.move)"}, "journal_id": {"type": "integer", "description": "Bank journal ID for payment"}, "payment_date": {"type": "string", "description": "Payment date (YYYY-MM-DD)"}, "amount": {"type": "number", "description": "Payment amount (defaults to bill total)"}, "statement_line_id": {"type": "integer", "description": "Bank statement line ID to reconcile with"}}, "required": ["bill_id", "journal_id"]}
check_recurring_pattern
Check Recurring Pattern
Check if a bank line matches a known recurring payment pattern. Returns the historical account coding, HST treatment, partner, and reconciliation model if one exists. ALWAYS call this FIRST for every unreconciled bank line — if a recurring pattern exists, follow its instructions instead of asking the user. Pass line_id to auto-extract ref and amount.
bank_reconciliation
1
{"type": "object", "properties": {"line_id": {"type": "integer", "description": "Bank statement line ID"}, "payment_ref": {"type": "string", "description": "Payment reference text (auto-extracted if line_id provided)"}, "amount": {"type": "number", "description": "Transaction amount (auto-extracted if line_id provided)"}}, "required": []}
match_internal_transfers
Match Internal Transfers
[Tier 3: Requires user approval] Find and match inter-account transfers between two bank journals (e.g., Scotia Current ↔ Scotia Visa). Matches EXACT amounts within 2 days. ONLY matches when there is exactly one candidate — skips ambiguous cases. First call with execute=false to preview pairs, then execute=true to reconcile. Scotia Current=50, Scotia Visa=51, RBC Chequing=53, RBC Visa=28.
bank_reconciliation
3
{"type": "object", "properties": {"journal_a_id": {"type": "integer", "description": "First bank journal ID"}, "journal_b_id": {"type": "integer", "description": "Second bank journal ID"}, "date_from": {"type": "string"}, "date_to": {"type": "string"}, "max_days_apart": {"type": "integer", "description": "Max days between matching lines (default 2)"}, "execute": {"type": "boolean", "description": "false=preview pairs only, true=actually reconcile"}}, "required": ["journal_a_id", "journal_b_id"]}
suggest_bank_line_matches
Suggest Bank Line Matches
[Tier 1: Read-only] Find candidate invoices/bills that could match a bank statement line. Extracts partner from the bank line reference, searches open receivables (for incoming payments) or payables (for outgoing payments), scores candidates by amount/partner/date proximity, and finds the best combination of entries that sum to the bank amount. Returns data for a reconciliation-mode fusion-table with editable amounts and search. The user reviews matches, adjusts amounts for partial payments, searches and adds more entries, then clicks Apply Match.
bank_reconciliation
1
{"type": "object", "properties": {"statement_line_id": {"type": "integer", "description": "Bank statement line ID to find matches for"}}, "required": ["statement_line_id"]}
find_unreconciled_cheques
Find Unreconciled Cheques
[Tier 1: Read-only] Find unreconciled cheque bank lines and classify them as payroll or non-payroll. Payroll cheques have a matching credit amount on 2201 Payroll Liabilities. Non-payroll cheques (vendor payments, rent, etc.) don't. Default journal: Scotia Current (50).
bank_reconciliation
1
{"type": "object", "properties": {"journal_id": {"type": "integer", "description": "Bank journal ID (default 50 = Scotia Current)"}, "limit": {"type": "integer", "description": "Max results (default 50)"}}}
reconcile_payroll_cheques
Reconcile Payroll Cheques
[Tier 3: Requires user approval] Reconcile payroll cheque bank lines by applying the Payroll Cheque Clearing model. ONLY processes cheques whose amount matches an existing payroll liability entry on 2201. Non-payroll cheques (vendor/rent) are skipped automatically. Uses the pre-configured "Payroll Cheque Clearing" reconcile model (writeoff to Dr 2201).
bank_reconciliation
3
{"type": "object", "properties": {"journal_id": {"type": "integer", "description": "Bank journal ID (default 50)"}, "line_ids": {"type": "array", "items": {"type": "integer"}, "description": "Optional: specific bank line IDs to reconcile. If empty, reconciles all matching payroll cheques."}}}
fusion_accounting_core.group_fusion_accounting_manager
create_expense_entry
Create Direct GL Expense
[Tier 3: Requires user approval] Create a direct GL expense entry in the Miscellaneous Operations journal. Alternative to creating a vendor bill — posts immediately. If has_hst=true, automatically splits the amount into net expense + 13% HST ITC on the 2006 account. Use this for small expenses where a formal vendor bill is not needed.
hst_management
3
{"type": "object", "properties": {"date": {"type": "string", "description": "Entry date (YYYY-MM-DD)"}, "description": {"type": "string", "description": "Expense description"}, "expense_account_id": {"type": "integer", "description": "GL expense account ID"}, "amount": {"type": "number", "description": "Total amount including HST if applicable"}, "has_hst": {"type": "boolean", "description": "Whether HST (13%) is included in the amount"}, "bank_journal_id": {"type": "integer", "description": "Bank journal for the credit side"}}, "required": ["date", "description", "expense_account_id", "amount"]}