Sale
Sale Administrator
Handle Shipment Exception
sale.handle.shipment.exception
sale.sale
Handle Invoice Exception
sale.handle.invoice.exception
sale.sale
sale.sale
form
]]>
sale.sale
tree
]]>
sale.handle.shipment.exception.ask
form
]]>
sale.handle.invoice.exception.ask
form
]]>
Shipments
stock.shipment.out
form
[("id", "in", Eval('shipments'))]
form_relate
sale.sale,0
Invoices
account.invoice
form
[("id", "in", Eval('invoices'))]
form_relate
sale.sale,0
Sales
sale.sale
form
{'create_date': ['between', Date(delta_years=-1)]}
New Sale
sale.sale
form
Draft Sales
sale.sale
form
[('state', '=', 'draft')]
Quotation Sales
sale.sale
form
[('state', '=', 'quotation')]
Confirmed Sales
sale.sale
form
[('state', '=', 'confirmed')]
Sale
sale.sale
Sale
sale.sale
Sale workflow
sale.sale
Draft
function
write({'state': 'draft'})
Quotation
function
check_for_quotation()
set_reference()
write({'state': 'quotation'})
Confirmed
AND
function
write({'state': 'confirmed'})
Invoice Method
OR
Waiting Invoice
function
create_invoice()
write({'invoice_state': 'waiting'})
Invoice Exception
function
write({'invoice_state': 'exception'})
Invoice Done
function
write({'invoice_state': 'paid'})
Shipment Invoice Method
OR
Shipment Invoice
function
create_shipment()
Waiting Shipment Invoice
function
write({'shipment_state': 'waiting'})
create_shipment()
Shipment Invoice Exception
function
write({'shipment_state': 'exception'})
Shipment Invoice Done
function
write({'shipment_state': 'sent'})
Shipment Invoice Method Done
Invoice Method Done
Shipment Method
Shipment
function
create_shipment()
Waiting Shipment
function
write({'shipment_state': 'waiting'})
create_shipment()
Shipment Exception
function
write({'shipment_state': 'exception'})
Invoice Shipment Method
OR
Invoice Shipment
function
create_invoice()
write({'invoice_state': 'waiting'})
Waiting Invoice Shipment
function
write({'invoice_state': 'waiting', 'shipment_state': 'sent'})
Invoice Shipment Exception
function
write({'invoice_state': 'exception'})
Invoice Shipment Done
function
write({'invoice_state': 'paid'})
Invoice Shipment Method Done
function
write({'shipment_state': 'sent'})
Shipment Method Done
Done
AND
function
write({'state': 'done'})
Canceled
function
write({'state': 'cancel'})
bool(lines)
quotation
cancel
draft
confirm
cancel
invoice_method == 'order'
invoice_method != 'order'
account.invoice
[x.id for x in invoices]
invoice_exception
invoice_ok
cancel
account.invoice
[x.id for x in invoices]
invoice_paid
shipment_method != 'invoice'
shipment_method == 'invoice'
stock.shipment.out
[x.id for x in shipments]
shipment_exception
cancel
shipment_ok
stock.shipment.out
[x.id for x in shipments]
shipment_done
shipment_method != 'order'
shipment_method == 'order'
shipment_update
shipment_exception
cancel
shipment_ok
shipment_update
not shipment_exception
shipment_done
invoice_method == 'shipment'
invoice_method != 'shipment' and shipment_done
invoice_method != 'shipment' and not shipment_done
not shipment_done
shipment_done
account.invoice
[x.id for x in invoices]
invoice_exception
cancel
invoice_ok
account.invoice
[x.id for x in invoices]
invoice_paid
Sale
sale.sale
sale.sale
sale/sale.odt
company/header_A4.odt
form_print
sale.sale,0
sale.line
form
]]>
sale.line
tree
]]>
product.template
]]>
product.template
]]>
Parties associated to Sales
sale.open_customer
=
User/Current Company