Files
odoo_source/addons/purchase
Ravi Patel efdb5373c3 [IMP] *: Define pdf report name according to the business case
Purpose:

When downloading a document, the name by default is not clear at all because by default, the printed report name is empty.

Specification:

Change the Printed Report Name. In most of the cases, it should be the name of the object + the number.

For the following reports :

- BOM Structure ==> BOM-product_variant_name ===>  'BOM'+'-'+(object.product_id.name)

- BOM Cost ==> BOM Cost-product_variant_name ===>  'BOM Cost'+'-'+(object.product_id.name)

- Call for Tenders ==>Tender-TE00001 ===> 'Tender'+'-'+(object.name)

- Delivery Slip ==> Delivery Slip-Customer Name-Picking Number ===> 'Delivery Slip'+'-'+(object.partner_id.name)+'-'+(object.name)

- Expenses Report ==> Expenses-Employee Name-Travel By Air  ===> 'Expenses'+'-'+(object.employee_id.name)+'-'+(object.name)

- Inventory ===> Inventory-Starting Inventory  ====> 'Inventory'+'-'+(object.name)

- Invoice (pos.order)===> Invoice-Main-0002 ===> 'Invoice'+'-'+(object.name)

- Invoices (account.invoice):
	===> Invoice-INV-2016-0019  ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===> 'Invoice'+'-'+(object.number)
        ===> Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Vendor Bill'+'-'+(object.number)

- Location Barcode  ===> Order Processing-Location ===> (object.name)+'-'+'Location'

- Lot Barcode ===> Lot/Serial-0000018 ===> 'Lot/Serial'+'-'+(object.name)

- Payslip  ===>  Employee Name-Payslip ===>  (object.employee_id.name)+'-'+'Payslip'

- Print Batch Deposit ===> Bank- DEPOSIT/2016/0001 ===> (object.journal_id.name)+'-'+(object.name)

- Print Check (Top)  ==> check_Partner name_Draft Payment_top   ===>  'check_'+(object.partner_id.name)+'_'+(object.name)+'_top'

- Print Check (middle)  ==> check_Partner name_Draft Payment_middle ===>  'check_'+(object.partner_id.name)+'_'+(object.name)+'_middle'

- Print Check (Bottom)  ==>  check_Partner name_Draft Payment_bottom  ====>  'check_'+(object.partner_id.name)+'_'+(object.name)+'_bottom'

- Production Order ==>  Production Order-MO-00006  ====>  'Production Order'+'-'+(object.name)

- Quotation / Order (sale.order):
	 ==> Order-S00001  ===> (object.state not in ('draft', 'sent'))==> 'Order'+'-'+(object.name)
         ==> Quotation-S00002   ====>  (object.state in ('draft','sent'))===> 'Quotation'+'-'+(object.name)

- Quotation / Order (mrp.repair):
	 ==> Repair Order-RMA00005         ===>  (object.state != 'draft') ===> 'Repair Order'+'-'+(object.name)
         ==> Repair Ouotation-RMA00005    ===>  (object.state == 'draft') ===> 'Repair Quotation'+'-'+(object.name)

- Registration Badge ===> Registration Event-Attendee Name       ====>  'Registration Event'+'-'+(object.name)

- Web Quotation(sale.order):
	==> Order-S00001  ===>  (object.state not in ('draft', 'sent')) ===> 'Order'+'-'+(object.name)
        ==> Quotation-S00002   ====>  (object.state in ('draft','sent')) ===> 'Quotation'+'-'+(object.name)

- Payslip Details: ===> Payslip Name ===>(object.name)

- Purchase Order:
	===> Purchase Order-PO0012 ===>(object.state != 'draft') ===> 'Purchase Order'+'-'+(object.name)
        ===> Request for Quotation-PO0012 ===> (object.state == 'draft') ===> 'Request for Quotation'+'-'+(object.name)

- Request for Quotation:===> Request for Quotation-PO0012  ===> 'Request for Quotation'+'-'+(object.name)

- Due Payments ===> Due Payments-Partner Name  ====> 'Due Payments'+'-'+(object.name)

- Products Labels ===> Products Labels-Product Name ===> 'Products Labels'+'-'+(object.name)

- Picking Operations ===> Picking Operations-Customer Name-Picking Number ===> 'Picking Operations'+'-'+(object.partner_id.name)+'-'+(object.name)

- Duplicates Invoices (account.invoice):
	===> Duplicate Invoice-INV-2016-0019  ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===> 'Duplicate Invoice'+'-'+(object.number)
        ===> Duplicate Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Duplicate Vendor Bill'+'-'+(object.number)

- Intrastat Invoices (account.invoice):
	===> Intrastat Invoice-INV-2016-0019  ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===> 'Intrastat Invoice'+'-'+(object.number)
        ===> Intrastat Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Intrastat Vendor Bill'+'-'+(object.number)

- Cost Structure Analysis ==> Cost Structure Analysis-Product Name ===> 'Cost Structure Analysis'+'-'+(object.name)

- Cost Analysis  ===> Cost Analysis-Product Name  ====> 'Cost Analysis'+'-'+(object.name)

- Print Badge  ===> Print Badge-Employee Name ===> 'Print Badge'+'-'+(object.name)

- Event Badge ==>  this report is in html format so ,there is no need to give the print_report_name.

- The following reports are print through wizard so there is no need to give the print_report_name

Budgets ===>
Financial Report ==>
General Ledger  ===>
Leaves Summary  ===>
2016-11-07 16:57:18 +01:00
..
2016-08-05 14:04:37 +02:00
…
…

Odoo Supply Chain

Automate requisition-to-pay, control invoicing with the Odoo Open Source Supply Chain.

Automate procurement propositions, launch request for quotations, track purchase orders, manage vendors' information, control products reception and check vendors' invoices.

Automated Procurement Propositions

Reduce inventory level with procurement rules. Get the right purchase proposition at the right time to reduce your inventory level. Improve your purchase and inventory performance with procurement rules depending on stock levels, logistic rules, sales orders, forecasted manufacturing orders, etc.

Send requests for quotations or purchase orders to your vendor in one click. Get access to product receptions and invoices from your purchase order.

Purchase Tenders

Launch purchase tenders, integrate vendor's answers in the process and compare propositions. Choose the best offer and send purchase orders easily. Use reporting to analyse the quality of your vendors afterwards.

Email integrations

Integrate all vendor's communications on the purchase orders (or RfQs) to get a strong traceability on the negotiation or after sales service issues. Use the claim management module to track issues related to vendors.

Standard Price, Average Price, FIFO

Use the costing method that reflects your business: standard price, average price, fifo or lifo. Get your accounting entries and the right inventory valuation in real-time; Odoo manages everything for you, transparently.

Import Vendor Pricelists

Take smart purchase decisions using the best prices. Easily import vendor's pricelists to make smarter purchase decisions based on promotions, prices depending on quantities and special contract conditions. You can even base your sales price depending on your vendor's prices.

Control Products and Invoices

No product or order is left behind, the inventory control allows you to manage back orders, refunds, product reception and quality control. Choose the right control method according to your need.

Control vendor bills with no effort. Choose the right method according to your need: pre-generate draft invoices based on purchase orders, on products receptions, create invoices manually and import lines from purchase orders, etc.