Replaces Enterprise's documents_account with a Fusion-native bridge. When a PDF/image lands in the Documents app, users can convert it into a draft vendor bill via a wizard that copies the document's binary onto the new account.move and posts a chatter note linking back to the source document. Adds: - documents.document.move_id (Many2one to the linked invoice) - documents.document.is_invoice_candidate (computed; True for unlinked PDF/image binaries) - documents.document.action_create_invoice() opens the wizard - account.move.source_document_ids reverse linkage + statinfo button - fusion.create.invoice.from.document.wizard (TransientModel + form) - ir.actions.server bound to documents.document so the workflow appears in the kanban/list Actions menu (the Documents app has no regular form view to inherit from in v19) The wizard: - defaults to the company's first purchase journal - supports vendor bill or vendor credit note - copies the source attachment onto the new move - posts a chatter note linking back - marks the document linked so it stops appearing as a candidate Auto-installs when documents + fusion_accounting_core are both present. 8 unit tests cover the candidate flag, wizard happy path, attachment copy, reverse linkage, already-linked guard, non-PDF guard, and credit-note creation. Made-with: Cursor
40 lines
1.6 KiB
XML
40 lines
1.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!--
|
|
The Documents app does not ship a regular form view for
|
|
documents.document; editing happens in the side panel of the
|
|
kanban/list views. We therefore add the new fields to the
|
|
kanban + list views and rely on a server action (defined in
|
|
data/server_actions_data.xml) to expose the "Create Invoice"
|
|
workflow from the Actions menu.
|
|
-->
|
|
|
|
<record id="view_documents_document_kanban_inherit_fusion_acc"
|
|
model="ir.ui.view">
|
|
<field name="name">documents.document.kanban.inherit.fusion.acc</field>
|
|
<field name="model">documents.document</field>
|
|
<field name="inherit_id" ref="documents.document_view_kanban"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='name']" position="after">
|
|
<field name="is_invoice_candidate"/>
|
|
<field name="move_id"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_documents_document_list_inherit_fusion_acc"
|
|
model="ir.ui.view">
|
|
<field name="name">documents.document.list.inherit.fusion.acc</field>
|
|
<field name="model">documents.document</field>
|
|
<field name="inherit_id" ref="documents.documents_view_list_main"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='name']" position="after">
|
|
<field name="is_invoice_candidate" optional="hide"/>
|
|
<field name="move_id"
|
|
string="Linked Invoice"
|
|
optional="hide"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
</odoo>
|