Currently there is no simple way of finding if an invoice is a downpayment. Downpayments can be created from a sale order. An invoice is generated representing the downpayment. When the sale order is used to generate the complete invoice, the downpayment is deducted. There is no fast way to distinguish a downpayment invoice. The only way of knowing is that the lines of the invoice will have sale_line_ids for which 'is_downpayment' (a boolean field on the sale order line) is true. (also, by default, the product 'Downpayment' is used for the invoice line representing the downpayment) This commit adds a helper method '_is_downpayment' to the account.move model, which will return False if sale is not installed, and True if sale is installed, and is_downpayment (the boolean field on sale.order.line) is true of all the sale lines associated with all the lines of the invoice. Another method '_get_downpayment_lines' is added to the account.move.line model which, for all sale lines associated with the move line upon which it is called, returns the invoice lines of the sale lines for which their move_id._is_downpayment() is true. This distinguishes between the downpayment lines in the final invoice (which aren't retrieved by this method), and the downpayment lines in the downpayment invoice (which are retrieved by this method). Part-of: odoo/odoo#98534
Sales Management Made Easy
From quotes to invoices, in just a few clicks with the Odoo Sales Management.
Drive your sales operations from quotes to invoices with all the information you need, easily accessible. Keep track of long term contracts, automate invoicing and notify sales when they have things to do.
Create Professional Quotations
Create quotations in a matter of seconds. Send quotes by email or get a professional PDF. Track quotations, and convert them to sales order in one click.
Spend the extra time focusing on selling, not recording data.
Fully Integrated
The information your need, where you need it.
Don't lose time looking for customers, products or contracts related information; they are all conveniently accessible when creating quotations.
Get access to stock availabilities in the different warehouses, to customer's specific prices, to the history of preceeding offers for this prospect, etc.
Your Address Book
So many features, so easy to use.
Assign tags to your prospects, manage relationships between contacts and store all customer's preferences including pricing, billing conditions, addresses, payment terms, etc.
Navigate through all the documents related to a customer with the powerfull breadcrumb: quotations, invoices, emails, meetings.
Fully Integrated Invoicing
Whether you invoice based on time and materials, on delivery orders or fixed price; Odoo supports all possible methods.
Get recurring invoices produced automatically, create advances in just a few clicks, re-invoices expenses easily, etc.
Keep track of your contracts
Get rid of wasted paper and record all your contracts in the application. Invoices are generated automatically based on your contract conditions. Your account managers get alerts before contracts have to be renewed.
Communicate Efficiently With Customers
The chatter feature enables you to communicate faster and more efficiently with your customer. This takes place directly on a quotation or sale order from within Odoo or via email.
Get all the negotiations and discussions attached to the right document and relevent managers notified on specific events.
Fully Extensible
By default, sales order are very simple, limited to a small number of features. Don't be confused by features you don't need.
But you can activate options to fit your specific need: multi-warehouses, multi unit of measures, manage customer specific prices with pricelists, control margins on quotations, use different addresses for shipping and billing, etc.
Built-in Customer Relationship Management
Activate the CRM application to manage your funnel of opportunities, attract leads, log calls, schedule meetings and launch marketing campaigns.
Opportunities can be converted into quotations in just one click.
Drive Engagement with Gamification
Align Sales Teams on clear targets. Define clear commission plans. Get real time statistics on the performance of individual sales or channels. Motivate your teams with challenges, rewards and leaderboards.
Have Clear Pricing Strategies
Use pricelists to record special conditions for a specific customer or to define prices for a segment of customers. Define promotions and have them applied automatically for all your Sales Teams.