设计与多媒体

Odoo Month End Close

试用

Drive a month-end accounting close on Odoo through odoo-mcp — AR/AP aging, open-item and draft-invoice review, reconciliation checklists, and chatter documen...

它能做什么

Drive a month-end accounting close on Odoo through odoo-mcp — AR/AP aging, open-item and draft-invoice review, reconciliation checklists, and chatter documentation — with human sign-off at every posting step. Use when the user asks to "close the month", "review receivables/payables", "check aging", or prepare finance reports from Odoo.

技能文档

Odoo month-end close

You are running a month-end close review against a live Odoo database through odoo-mcp. Finance data is the last place an agent should guess: every number you present must come from a tool result, and every posting action needs the human's explicit approval.

Prerequisites

  • odoo-mcp connected; account module installed (verify via business_pack_report(pack="accounting") or get_odoo_profile).
  • The accounting_close_checklist MCP prompt is the compact in-server version of this playbook; this skill adds pacing and judgment.

Playbook

  1. Baseline: accounting_health_summary — open AR/AP item counts and the draft-invoice backlog. This is your before-photo; show it.
  2. Aging deep-dive: receivable_payable_aging(direction="receivable") then "payable". Present the bucket table (not due / 1-30 / 31-60 / 61-90 / 90+) with per-partner totals; flag partners with >60d balances.
  3. Draft backlog: search_records(model="account.move", domain=[["state","=","draft"],["move_type","in",["out_invoice","in_invoice"]]]) — list drafts with amounts and dates; ask which should be posted, which deleted (deletion = human decision, never yours).
  4. Unreconciled sweep: search account.move.line for open items on receivable/payable accounts older than the period; summarize by account. Use aggregate_records (groupby account_id) instead of paging raw lines.
  5. Anomaly pass: run data_quality_report(model="account.move") — missing required values and format anomalies on invoices are close blockers.
  6. Actions through the gate. Posting a draft, correcting a field, or any state change: preview_write → human reviews the diff → validate_writeexecute_approved_write(confirm=true). One document batch at a time.
  7. Document the close: with approval, chatter_post a close summary on the relevant records (or the human's designated close journal entry) — what was reviewed, what was posted, what is carried over.
  8. After-photo: re-run accounting_health_summary; report the delta.

Output format

Close report with: baseline vs final summary, aging tables, actions taken (each with its approval token event), and a carried-over list with owners.

Hard rules

  • Never post, reconcile, or delete without a fresh per-batch approval.
  • as_of on aging shifts the bucketing reference only — say so if the human asks for a "historical snapshot"; do not fake one.
  • If multi-company is active, confirm the company scope first (diagnose_access explains company-based invisibility).

相关技能

Review many client Odoo databases at once through odoo-mcp's cross-instance tools — fleet-wide accounting health, per-client aging, partial-failure triage —...

1 次安装

Talk to an Odoo ERP through its `drivethru_mcp` MCP server — discover the available Odoo tools at runtime and call them to look up eBay products/inventory, push eBay orders and read tracking, run the Accounts Payable PO→vendor-bill flow, review documents in the Documents app against their purchase orders and fix incorrect PO line pricing (the "check the Purchasing folder against the POs" / vendor-invoice pricing-review workflow, filing each document into Matched or Questions), schedule MRP production batches, drive vendor replenishment purchasing (run the replenishment report → curate lines → add to a PO → hand style/color/size/qty to the vendor's purchasing skill → write pricing + confirmation back and confirm the PO), and retrieve internal SOPs / best practices / policies from the Knowledge base scoped to the asking person's permissions. Use whenever the user needs to read from or write to Odoo, especially when you are answering a person inside an Odoo Discuss conversation.

6 次安装

Audit an Odoo database's data quality with evidence before trusting AI answers, importing, or migrating — duplicates, missing required values, orphaned refer...

1 次安装

Enter and manipulate BaconCo sales orders in Odoo the way a rep does — through the `drivethru_mcp` MCP server's sales-entry tools. BaconCo is a custom-appare...

1 次安装

Plan and de-risk an Odoo version upgrade (16→17→18→19/20) using odoo-mcp's migration workbench — audit custom addons, classify upgrade-log failures into a wo...

Payable matching for BaconCo — reconcile vendor documents in Odoo's Documents app against their purchase orders and correct incorrect PO line pricing. Use for requests like "check the Purchasing folder against the POs and fix the pricing", "match the vendor invoice / order confirmation / acknowledgement to its PO", "AP price matching / invoice-to-PO matching / three-way match", "reconcile the vendor documents and mark the POs checked", or "go through the Purchasing folder". The flow: read every document in a Documents-app folder (extracting text out-of-context so large batches don't bloat the context window — falling back to a page render + OCR/vision for scanned or custom-encoded PDFs that won't extract as text), pull the PO number / line items / unit prices from each, compare to the purchase order line by line, correct any wrong `price_unit`, post a "checked" log note on the PO (internal, never a "Send message"), and FILE every document into the `Matched` or `Questions` subfolder — e