feat(invoicing): managers (+QM+Owner) can create customer invoices

Grant Odoo Billing (account.group_account_invoice) to group_fp_manager via
implied_ids; Quality Manager + Owner inherit it. Billing only (not Accountant);
the SO-origin workflow gate in fusion_plating_jobs is unchanged, so managers
invoice from the Sale Order's Create Invoice action. Tests assert Manager/Owner
get Billing and Shop Manager does not.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-29 20:33:40 -04:00
parent b2186ab032
commit 1e9ffccd6b
5 changed files with 118 additions and 3 deletions

View File

@@ -14,9 +14,15 @@
<field name="user_ids" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<!-- Backward-compat: new Manager role implies old Accounting group. -->
<!-- Backward-compat: new Manager role implies old Accounting group.
2026-05-29: Manager (+ QM + Owner via implication) also gets Odoo's
Billing group so they can create customer invoices from a Sale
Order. Billing only — not Accountant. The SO-origin workflow gate
in fusion_plating_jobs is unchanged (off-SO invoices still blocked).
Spec: docs/superpowers/specs/2026-05-29-manager-invoice-permission-design.md -->
<record id="fusion_plating.group_fp_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('fusion_plating_invoicing.group_fp_accounting'))]"/>
<field name="implied_ids" eval="[(4, ref('fusion_plating_invoicing.group_fp_accounting')),
(4, ref('account.group_account_invoice'))]"/>
</record>
</odoo>