Skip to Content
Catalog / SAL · Sales / ProForma Invoice - Milestone Based
ProForma Invoice - Milestone Based
sale_proforma_milestone

ProForma Invoice - Milestone Based

Issue milestone-based pro forma invoices from sales orders and track them to payment

v19.0.1.0.0 Abdelfatah Mohammad (AlshayebCo) Sales

Adds models proforma invoice (chatter + activities, company-aware, sequence-numbered) and proforma invoice line with Odoo 19 tax computation via account tax base-line helpers. Inherits sales order (smart button, Create ProForma action, requestor field) and project milestone (has_proforma and proforma_state computed fields). Two transient wizards handle creation and payment confirmation. Ships a QWeb PDF report, mail template, ir.sequence, res groups privilege-based security with record rules, and an OWL backend dashboard client action with KPI/chart data served by get_dashboard_data. Depends on sale_management, sale_project, project, account, and ac_base_dashboard.

Overview

Project and contract sales are often billed in stages, but Odoo has no native way to issue a formal pro forma invoice for a reached milestone before the real invoice is raised. This module lets salespeople generate pro forma invoices straight from a confirmed sales order by picking the milestones that are due, then drive each document through a clear Draft to Posted to Sent to Paid to Invoiced lifecycle. Payments are confirmed against a bank or cash journal with a client reference, the final customer invoice is created in one click, and a built-in dashboard shows pipeline, overdue, and top-customer KPIs.

Workflow

Proforma Invoice

Draft
Posted
Sent
Paid
Invoiced
Cancelled

Key Features

  • Create a pro forma invoice from any confirmed sales order through a guided wizard that lists only reached, not-yet-billed milestones.
  • Auto-builds invoice lines from each milestone, prorating quantity by the milestone's percentage and carrying over price, discount, and taxes.
  • Full status workflow with guarded transitions: Draft, Posted, Sent, Paid, Invoiced, and Cancelled.
  • Send the pro forma to the client by email using a built-in template, or mark it as sent manually.
  • Confirm payment via a wizard that records the client reference, amount received, and date, optionally posting an account.payment to a bank or cash journal.
  • Generate the final customer invoice from the pro forma in one click, linked back via origin and chatter.
  • Print a branded pro forma PDF report directly from the document.
  • Interactive dashboard with KPIs by status, overdue alerts (sent over 30 days), monthly trends, and top customers and products.
  • Smart button and milestone status field expose pro forma activity on sales orders and project milestones.
  • Dedicated filtered menus for Draft, Awaiting Payment, Overdue, and To Invoice queues.

Technical Details

Technical Name sale_proforma_milestone
Version 19.0.1.0.0
License LGPL-3
Domain SAL · Sales

Menu Structure

ProForma Invoices
Dashboard
ProForma Invoices
Draft
Awaiting Payment
Overdue
To Invoice

Security

Two dedicated privilege groups govern access: ProForma User can create and edit their own pro forma invoices (record rule limits visibility to documents they own), while ProForma Manager sees and manages every document including deletion. Accountants and project managers get read-only visibility through existing accounting and project groups.

ProForma Invoice / User (own documents, create and edit, no delete) ProForma Invoice / Manager (full access to all documents) Accounting Invoice group (read-only) Project Manager group (read-only)

Dependencies

sale_management sale_project project account ac_base_dashboard