Skip to content
cccskills
FreePublished on GitHub

odoo-report-migration

Migrates Odoo QWeb HTML and PDF reports between major versions while preserving data semantics, access behavior, paper geometry, and intended visual appearance. Use when porting reports across Odoo versions, adapting report templates or assets after an upgrade, or diagnosing visual regressions in migrated PDFs.

The English summary is being prepared. Showing the original description.

See how to install

Files included (4)

  • SKILL.md3.5 KB
  • REPORT-MIGRATION.md4.7 KB
  • REPORT-VERSION-MATRIX.md8.6 KB
  • VISUAL-REGRESSION.md2.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Odoo Report Migration

Use this skill for report-specific migration work. Compose it with odoo-migration for the module port, the source and target version skills for framework details, odoo-report-design for layout decisions, and odoo-web-testing when browser or asset behavior is involved.

First Move

Identify the source and target versions, module and report XML IDs, current rendering environment, report action, template chain, paper format, assets, custom value provider, and the visual requirements that must remain stable.

OCA Process Still Applies

Report work is not process-free. When a report migration is part of a module [MIG], the full OCA process in odoo-migration still applies end to end: announcing the module(s) on the Migration to version <target> issue, creating the <target>-mig-<module> branch, the [MIG] commit, pushing to the contributor's fork, and opening the pull request titled [<target>][MIG] <module>: Migration to <target>. Rendering equivalence is an acceptance criterion for the pull request, not a substitute for it. Do not post, push, or open the pull request without the same explicit confirmation required by odoo-migration.

Workflow

  1. Freeze a baseline. Render HTML and PDF using deterministic records and record the version, commit, language, company, user, paper format, and renderer details.
  2. Inventory dependencies: inherited templates, external layouts, report assets, SCSS/CSS, fonts, images, paper formats, translations, and report actions.
  3. Apply every intermediate Odoo migration checklist for a multi-version jump. Separate API/data migration from presentation changes.
  4. Inspect the target version's upstream report templates, asset bundles, CSS framework, renderer, and report action fields before porting XPath or CSS.
  5. Port the smallest compatible change. Prefer stable inherited anchors over copying the old core template.
  6. Re-render the same fixture set and classify every difference as intended, renderer noise, or a regression.
  7. Verify access, data semantics, translations, pagination, paper geometry, assets, and multi-record behavior before declaring success.

Guardrails

  • Do not call a report visually preserved because it merely loads or produces a PDF.
  • Do not compare PDF bytes as the primary visual assertion.
  • Do not fix a layout regression with arbitrary CSS before checking target templates, asset bundles, paper format, fonts, and renderer behavior.
  • Do not broaden report access or expose data while changing presentation.
  • If the baseline cannot be rendered, record the missing evidence and use a clearly labeled reconstructed baseline instead of claiming equivalence.

References

The OCA version guides themselves are at https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-<version>. The wiki is authoritative over this pack.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when the user wants to stress-test a plan, get grilled on their design, or mentions "grill me" outside an Odoo-specific context.

The English summary is being prepared. Showing the original description.

mart337i/odoo-skills59Updated Oct 2, 2026

Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when the user wants to stress-test a plan against their project's language and documented decisions.

The English summary is being prepared. Showing the original description.

mart337i/odoo-skills59Updated Oct 2, 2026

Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.

The English summary is being prepared. Showing the original description.

mart337i/odoo-skills59Updated Oct 2, 2026

odoo

Free

Odoo engineering workflows for addon development, codebase exploration, debugging, architecture/refactor review, manifest/docs sync, and routing to migration work. Use when the user mentions Odoo, addons, modules, manifests, models, XML views, security CSVs, record rules, Odoo shell, OWL/QWeb/assets, or when an Odoo codebase is detected.

The English summary is being prepared. Showing the original description.

mart337i/odoo-skills59Updated Oct 2, 2026

Odoo 17 development reference for Python models and ORM (search, domain, read_group, compute fields), XML/CSV data and views, OWL/JS client code, QWeb reports, security (ACL, record rules, groups), cron and server actions, migrations and module upgrades, tests, i18n, and performance. Use this skill whenever work involves Odoo 17 or custom addons, including traceback diagnosis, addons, manifests, XML errors, HTTP controllers, business rules, feature work, refactoring, or reviews.

The English summary is being prepared. Showing the original description.

mart337i/odoo-skills59Updated Oct 2, 2026

Odoo 18 development reference for Python models and ORM (search, domain, read_group, compute fields), XML/CSV data and views, OWL/JS client code, QWeb reports, security (ACL, record rules, groups), cron and server actions, migrations and module upgrades, tests, i18n, and performance. Use this skill whenever work involves Odoo 18 or custom addons, including traceback diagnosis, addons, manifests, XML errors, HTTP controllers, business rules, feature work, refactoring, or reviews.

The English summary is being prepared. Showing the original description.

mart337i/odoo-skills59Updated Oct 2, 2026

See all skills by mart337i

Report a problem with this skill