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 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.
pinned to #b609cdaupdated 2 months ago
Ask your AI client: “install skills/odoo-month-end-close”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/odoo-month-end-closemetahub onboarded this repo on the author's behalf.
If you own github.com/tuanle96/mcp-odoo on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
361
Last commit
2 months ago
Latest release
published
- #agent-skills
- #claude-code
- #claude-code-skill
- #claude-skills
- #mcp
- #mcp-server
- #mcp-servers
- #odoo
- #odoo-mcp
About this skill
Pulled from SKILL.md at publish time.
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.
Automated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.b609cda· 2 months ago
Behavioral checks ran but aren't published for this artifact; the static checks above ran at publish time.
Kind-specific
3 passed1 warningSkill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: SKILL.md present
found at skills/odoo-month-end-close/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
344 words · 2,621 chars · 4 sections
Skill: allowed-tools scope
no allowed-tools restriction (Claude may use anything)
Release history
1- releasecurrentb609cdawarn2 months ago
Contents
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;
accountmodule installed (verify viabusiness_pack_report(pack="accounting")orget_odoo_profile). - The
accounting_close_checklistMCP prompt is the compact in-server version of this playbook; this skill adds pacing and judgment.
Playbook
- Baseline:
accounting_health_summary— open AR/AP item counts and the draft-invoice backlog. This is your before-photo; show it. - 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. - 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). - Unreconciled sweep: search
account.move.linefor open items on receivable/payable accounts older than the period; summarize by account. Useaggregate_records(groupbyaccount_id) instead of paging raw lines. - Anomaly pass: run
data_quality_report(model="account.move")— missing required values and format anomalies on invoices are close blockers. - Actions through the gate. Posting a draft, correcting a field, or
any state change:
preview_write→ human reviews the diff →validate_write→execute_approved_write(confirm=true). One document batch at a time. - Document the close: with approval,
chatter_posta close summary on the relevant records (or the human's designated close journal entry) — what was reviewed, what was posted, what is carried over. - 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_ofon 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_accessexplains company-based invisibility).
Reviews
No reviews yet. Be the first.
Related
Verification Before Completion
Evidence before assertions, always
Writing Plans
Turn specs into phased implementation plans
Test-Driven Development
Red → green → refactor discipline for any feature or bugfix
mh install skills/odoo-month-end-close