Object: dm.offer.step.action (dm.offer.step.action)
sms_server: | SMS Server, many2one |
Python code to be executed
media_id: | Media, many2one, required |
sequence: | Sequence, integer |
Important when you deal with multiple actions, the execution order will be decided based on this, low number is higher priority.
child_ids: | Other Actions, many2many |
trigger_name: | Trigger Name, selection |
Select the Signal name that is to be used as the trigger.
record_id: | Create Id, many2one |
Provide the field name where the record id is stored after the create operations. If it is empty, you can not track the new record.
Provide the field name that the record id refers to for the write operation. If it is empty it will refer to the active id of the object.
srcmodel_id: | Model, many2one |
Object in which you want to create / write the object. If it is empty then refer to the Object field.
Specify the message. You can use the fields from the object. e.g. `Dear [[ object.partner_id.name ]]`
dm_action: | Action, boolean |
email_server: | Email Server, many2one |
model_id: | Object, many2one, required |
Select the object on which the action will work (read, write, create).
Specify the subject. You can use fields from the object, e.g. `Hello [[ object.partner_id.name ]]`
loop_action: | Loop Action, many2one |
Select the action that will be executed. Loop action will not be available inside loop.
fields_lines: | Field Mappings., one2many |
trigger_obj_id: | Trigger On, many2one |
Select the object from the model on which the workflow will executed.
name: | Action Name, char, required |
Easy to Refer action by name e.g. One Sales Order -> Many Invoices
Provides fields that be used to fetch the mobile number, e.g. you select the invoice, then `object.invoice_address_id.mobile` is the field which gives the correct mobile number
expression: | Loop Expression, char |
Enter the field/expression that will return the list. E.g. select the sale order in Object, and you can have loop on the sales order line. Expression = `object.order_line`.
server_action_id: |
| Server Action, many2one |
wkf_model_id: | Workflow On, many2one |
Workflow to be executed on this model.
state: | Action Type, selection, required |
Type of the Action that is to be executed
condition: | Condition, char, required |
Condition that is to be tested before action is executed, e.g. object.list_price > object.cost_price
type: | Action Type, char, required |
email: | Email Address, char |
Provides the fields that will be used to fetch the email address, e.g. when you select the invoice, then `object.invoice_address_id.email` is the field which gives the correct address
action_id: | Client Action, many2one |
Select the Action Window, Report, Wizard to be executed.
Object: dm.campaign (dm.campaign)
cleaner_id: | Cleaner, many2one |
The cleaner is a partner responsible for removing bad addresses from the customers list
contact_id: | Contact, many2one |
address_ids: | Partners Contacts, many2many |
crossovered_budget_line: |
| Budget Lines, one2many |
quantity_usable_total: |
| Total Usable Quantity, char, readonly |
proposition_ids: |
| Proposition, one2many |
last_worked_date: |
| Date of Last Cost/Work, date, readonly |
Date of the latest work done on this account.
dealer_id: | Dealer, many2one |
The dealer is the partner the campaign is planned for
manufacturing_cost_ids: |
| Manufacturing Costs, one2many |
company_id: | Company, many2one, required |
parent_id: | Parent Analytic Account, many2one |
pricelist_id: | Sale Pricelist, many2one |
project_id: | Project, many2one, readonly |
Generating the Retro Planning will create and assign the different tasks used to plan and manage the campaign
ca_to_invoice: | Uninvoiced Amount, float, readonly |
If invoice from analytic account, the remaining amount you can invoice to the customer based on the total costs.
cust_file_task_ids: |
| Customer Files tasks, one2many |
payment_method_ids: |
| Payment Methods, many2many |
child_ids: | Child Accounts, one2many |
quantity_wanted_total: |
| Total Wanted Quantity, char, readonly |
user_ids: | User, many2many, readonly |
campaign_group_id: |
| Campaign group, many2one |
item_task_ids: | Items Procurement tasks, one2many |
theorical_margin: |
| Theorical Margin, float, readonly |
Computed using the formula: Theorial Revenue - Total Costs
dtp_task_ids: | DTP tasks, one2many |
name: | Account Name, char, required |
translation_state: |
| Translation Status, selection, readonly |
quantity_planned_total: |
| Total planned Quantity, char, readonly |
remaining_hours: |
| Remaining Hours, float, readonly |
Computed using the formula: Maximum Quantity - Hours Tot.
last_worked_invoiced_date: |
| Date of Last Invoiced Cost, date, readonly |
If invoice from the costs, this is the date of the latest work or cost that have been invoiced.
manufacturing_product_id: |
| Manufacturing Product, many2one |
customer_file_state: |
| Customers Files Status, selection, readonly |
last_invoice_date: |
| Last Invoice Date, date, readonly |
Date of the last invoice created for this analytic account.
dtp_purchase_line_ids: |
| DTP Purchase Lines, one2many |
package_ok: | Used in Package, boolean |
partner_id: | Associated Partner, many2one |
analytic_account_id: |
| Analytic Account, many2one |
revenue_per_hour: |
| Revenue per Hours (real), float, readonly |
Computed using the formula: Invoiced Amount / Hours Tot.
total_cost: | Total Costs, float, readonly |
Total of costs for this account. It includes real costs (from invoices) and indirect costs, like time spent on timesheets.
country_id: | Country, many2one, required |
The language and currency will be automatically assigned if they are defined for the country
state: | State, selection, required |
debit: | Debit, float, readonly |
amount_invoiced: |
| Invoiced Amount, float, readonly |
Total invoiced
planning_state: | Planning Status, selection, readonly |
user_product_ids: |
| Users/Products Rel., one2many |
manufacturing_responsible_id: |
| Responsible, many2one |
overlay_id: | Overlay, many2one |
mail_service_ids: |
| Mailing Service, one2many |
real_margin_rate: |
| Real Margin Rate (%), float, readonly |
Computes using the formula: (Real Margin / Total Costs) * 100.
credit: | Credit, float, readonly |
month_ids: | Month, many2many, readonly |
line_ids: | Analytic Entries, one2many |
items_state: | Items Status, selection, readonly |
trademark_id: | Trademark, many2one |
amount_max: | Max. Invoice Price, float |
dtp_state: | DTP Status, selection, readonly |
user_id: | Account Manager, many2one |
dtp_responsible_id: |
| Responsible, many2one |
manufacturing_purchase_line_ids: |
| Manufacturing Purchase Lines, one2many |
type: | Account Type, selection |
offer_id: | Offer, many2one, required |
Choose the commercial offer to use with this campaign, only offers in ready to plan or open state can be assigned
ca_invoiced: | Invoiced Amount, float, readonly |
Total customer invoiced amount for this account.
campaign_type_id: |
| Type, many2one |
hours_quantity: | Hours Tot, float, readonly |
Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type ‘general’.
manufacturing_state: |
| Manufacturing Status, selection, readonly |
ca_theorical: | Theorical Revenue, float, readonly |
Based on the costs you had on the project, what would the revenue have been if all these costs were invoiced at the normal sale price given by the pricelist.
currency_id: | Currency, many2one |
dtp_making_time: |
| Making Time, float, readonly |
to_invoice: | Reinvoice Costs, many2one |
Check this field if you plan to automatically generate invoices based on the costs in this analytic account: timesheets, expenses, ...You can configure an automatic invoice rate on analytic accounts.
balance: | Balance, float, readonly |
quantity_delivered_total: |
| Total Delivered Quantity, char, readonly |
item_responsible_id: |
| Responsible, many2one |
quantity_max: | Maximum Quantity, float |
deduplicator_id: |
| Deduplicator, many2one |
The deduplicator is a partner responsible for removing identical addresses from the customers list
company_currency_id: |
| Currency, many2one, readonly |
hours_qtt_non_invoiced: |
| Uninvoiced Hours, float, readonly |
Number of hours (from journal of type ‘general’) that can be invoiced if you invoice based on analytic account.
files_responsible_id: |
| Responsible, many2one |
date_start: | Date Start, date |
forwarding_charge: |
| Forwarding Charge, float |
lang_id: | Language, many2one |
complete_name: | Full Account Name, char, readonly |
real_margin: | Real Margin, float, readonly |
Computed using the formula: Invoiced Amount - Total Costs.
hours_qtt_invoiced: |
| Invoiced Hours, float, readonly |
Number of hours that can be invoiced plus those that already have been invoiced.
router_id: | Router, many2one |
The router is the partner who will send the mailing to the final customer
description: | Description, text |
manufacturing_task_ids: |
| Manufacturing tasks, one2many |
remaining_ca: | Remaining Revenue, float, readonly |
Computed using the formula: Max Invoice Price - Invoiced Amount.
responsible_id: | Responsible, many2one |
item_purchase_line_ids: |
| Items Purchase Lines, one2many |
code1: | Code, char, readonly |
cust_file_purchase_line_ids: |
| Customer Files Purchase Lines, one2many |
journal_rate_ids: |
| Invoicing Rate per Journal, one2many |
quantity: | Quantity, float, readonly |
Object: dm.campaign.proposition (dm.campaign.proposition)
initial_proposition_id: |
| Initial proposition, many2one |
last_worked_invoiced_date: |
| Date of Last Invoiced Cost, date, readonly |
If invoice from the costs, this is the date of the latest work or cost that have been invoiced.
ca_to_invoice: | Uninvoiced Amount, float, readonly |
If invoice from analytic account, the remaining amount you can invoice to the customer based on the total costs.
quantity_max: | Maximum Quantity, float |
quantity_wanted: |
| Wanted Quantity, char, readonly |
The wanted quantity is the number of addresses you wish to get for that segment.
This is usually the quantity used to order Customers Lists
The wanted quantity could be AAA for All Addresses Available
contact_id: | Contact, many2one |
company_currency_id: |
| Currency, many2one, readonly |
last_invoice_date: |
| Last Invoice Date, date, readonly |
Date of the last invoice created for this analytic account.
crossovered_budget_line: |
| Budget Lines, one2many |
amount_max: | Max. Invoice Price, float |
package_ok: | Used in Package, boolean |
hours_qtt_non_invoiced: |
| Uninvoiced Hours, float, readonly |
Number of hours (from journal of type ‘general’) that can be invoiced if you invoice based on analytic account.
keep_prices: | Keep Prices At Duplication, boolean |
partner_id: | Associated Partner, many2one |
proposition_type: |
| Type, selection |
analytic_account_id: |
| Analytic Account, many2one |
last_worked_date: |
| Date of Last Cost/Work, date, readonly |
Date of the latest work done on this account.
starting_mail_price: |
| Starting Mail Price, float |
user_id: | Account Manager, many2one |
item_ids: | Catalogue, one2many |
to_invoice: | Reinvoice Costs, many2one |
Check this field if you plan to automatically generate invoices based on the costs in this analytic account: timesheets, expenses, ...You can configure an automatic invoice rate on analytic accounts.
total_cost: | Total Costs, float, readonly |
Total of costs for this account. It includes real costs (from invoices) and indirect costs, like time spent on timesheets.
date_start: | Date Start, date |
company_id: | Company, many2one, required |
segment_ids: | Segment, one2many |
parent_id: | Parent Analytic Account, many2one |
state: | State, selection, required |
quantity_planned: |
| Planned Quantity, integer |
The planned quantity is an estimation of the usable quantity of addresses you will get after delivery, deduplication and cleaning
This is usually the quantity used to order the manufacturing of the mailings
complete_name: | Full Account Name, char, readonly |
real_margin: | Real Margin, float, readonly |
Computed using the formula: Invoiced Amount - Total Costs.
debit: | Debit, float, readonly |
forwarding_charge: |
| Forwarding Charge, float |
pricelist_id: | Sale Pricelist, many2one |
type: | Account Type, selection |
quantity: | Quantity, float, readonly |
manufacturing_costs: |
| Manufacturing Costs, float |
journal_rate_ids: |
| Invoicing Rate per Journal, one2many |
payment_method_ids: |
| Payment Methods, many2many |
description: | Description, text |
amount_invoiced: |
| Invoiced Amount, float, readonly |
Total invoiced
forwarding_charges: |
| Forwarding Charges, float |
credit: | Credit, float, readonly |
child_ids: | Child Accounts, one2many |
user_product_ids: |
| Users/Products Rel., one2many |
ca_invoiced: | Invoiced Amount, float, readonly |
Total customer invoiced amount for this account.
sale_rate: | Sale Rate (%), float |
This is the planned sale rate (in percent) for this commercial proposition
user_ids: | User, many2many, readonly |
remaining_ca: | Remaining Revenue, float, readonly |
Computed using the formula: Max Invoice Price - Invoiced Amount.
quantity_delivered: |
| Delivered Quantity, char, readonly |
The delivered quantity is the number of addresses you receive from the broker.
code1: | Code, char, readonly |
hours_qtt_invoiced: |
| Invoiced Hours, float, readonly |
Number of hours that can be invoiced plus those that already have been invoiced.
hours_quantity: | Hours Tot, float, readonly |
Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type ‘general’.
theorical_margin: |
| Theorical Margin, float, readonly |
Computed using the formula: Theorial Revenue - Total Costs
quantity_usable: |
| Usable Quantity, char, readonly |
The usable quantity is the number of addresses you have after delivery, deduplication and cleaning.
ca_theorical: | Theorical Revenue, float, readonly |
Based on the costs you had on the project, what would the revenue have been if all these costs were invoiced at the normal sale price given by the pricelist.
force_sm_price: | Force Starting Mail Price, boolean |
sm_price: | Starting Mail Price, float |
keep_segments: | Keep Segments, boolean |
name: | Account Name, char, required |
customer_pricelist_id: |
| Product Pricelist, many2one |
address_ids: | Partners Contacts, many2many |
real_margin_rate: |
| Real Margin Rate (%), float, readonly |
Computes using the formula: (Real Margin / Total Costs) * 100.
revenue_per_hour: |
| Revenue per Hours (real), float, readonly |
Computed using the formula: Invoiced Amount / Hours Tot.
month_ids: | Month, many2many, readonly |
quantity_real: | Real Quantity, char, readonly |
The real quantity is the actual number of addresses you get in the file.
price_prog_use: | Price Progression, boolean |
line_ids: | Analytic Entries, one2many |
balance: | Balance, float, readonly |
camp_id: | Campaign, many2one, required |
remaining_hours: |
| Remaining Hours, float, readonly |
Computed using the formula: Maximum Quantity - Hours Tot.
Object: A subset of addresses coming from a customers file (dm.campaign.proposition.segment)
last_worked_invoiced_date: |
| Date of Last Invoiced Cost, date, readonly |
If invoice from the costs, this is the date of the latest work or cost that have been invoiced.
ca_to_invoice: | Uninvoiced Amount, float, readonly |
If invoice from analytic account, the remaining amount you can invoice to the customer based on the total costs.
analytic_account_id: |
| Analytic Account, many2one |
quantity_cleaned_cleaner: |
| Cleaned Quantity, integer |
The quantity of wrong addresses removed by the cleaner.
segmentation_criteria: |
| Segmentation Criteria, text |
quantity_dedup_cleaner: |
| Deduplication Quantity, integer |
The quantity of duplicated addresses removed by the cleaner.
quantity_max: | Maximum Quantity, float |
quantity_usable: |
| Usable Quantity, integer, readonly |
The usable quantity is the number of addresses you have after delivery, deduplication and cleaning.
contact_id: | Contact, many2one |
company_currency_id: |
| Currency, many2one, readonly |
last_invoice_date: |
| Last Invoice Date, date, readonly |
Date of the last invoice created for this analytic account.
crossovered_budget_line: |
| Budget Lines, one2many |
amount_max: | Max. Invoice Price, float |
package_ok: | Used in Package, boolean |
hours_qtt_non_invoiced: |
| Uninvoiced Hours, float, readonly |
Number of hours (from journal of type ‘general’) that can be invoiced if you invoice based on analytic account.
partner_id: | Associated Partner, many2one |
all_add_avail: | All Addresses Available, boolean |
Used to order all addresses available in the customers list based on the segmentation criteria
last_worked_date: |
| Date of Last Cost/Work, date, readonly |
Date of the latest work done on this account.
start_census: | Start Census, integer |
The recency is the time since the last purchase.
For example : A 0-30 recency means all the customers that have purchased in the last 30 days
user_id: | Account Manager, many2one |
to_invoice: | Reinvoice Costs, many2one |
Check this field if you plan to automatically generate invoices based on the costs in this analytic account: timesheets, expenses, ...You can configure an automatic invoice rate on analytic accounts.
total_cost: | Total Costs, float, readonly |
Total of costs for this account. It includes real costs (from invoices) and indirect costs, like time spent on timesheets.
quantity_purged: |
| Purged Quantity, integer, readonly |
The purged quantity is the number of addresses removed from deduplication and cleaning.
date_start: | Date Start, date |
customers_file_id: |
| Customers File, many2one |
company_id: | Company, many2one, required |
proposition_id: | Proposition, many2one |
parent_id: | Parent Analytic Account, many2one |
state: | State, selection, required |
customers_list_id: |
| Customers List, many2one |
complete_name: | Full Account Name, char, readonly |
real_margin: | Real Margin, float, readonly |
Computed using the formula: Invoiced Amount - Total Costs.
debit: | Debit, float, readonly |
pricelist_id: | Sale Pricelist, many2one |
type: | Account Type, selection |
quantity: | Quantity, float, readonly |
quantity_cleaned_dedup: |
| Cleaned Quantity, integer |
The quantity of wrong addresses removed by the deduplicator.
journal_rate_ids: |
| Invoicing Rate per Journal, one2many |
description: | Description, text |
amount_invoiced: |
| Invoiced Amount, float, readonly |
Total invoiced
quantity_planned: |
| planned Quantity, integer |
The planned quantity is an estimation of the usable quantity of addresses you will get after delivery, deduplication and cleaning
This is usually the quantity used to order the manufacturing of the mailings
credit: | Credit, float, readonly |
child_ids: | Child Accounts, one2many |
user_product_ids: |
| Users/Products Rel., one2many |
ca_invoiced: | Invoiced Amount, float, readonly |
Total customer invoiced amount for this account.
user_ids: | User, many2many, readonly |
remaining_ca: | Remaining Revenue, float, readonly |
Computed using the formula: Max Invoice Price - Invoiced Amount.
quantity_delivered: |
| Delivered Quantity, integer |
The delivered quantity is the number of addresses you receive from the broker.
code1: | Code, char, readonly |
hours_qtt_invoiced: |
| Invoiced Hours, float, readonly |
Number of hours that can be invoiced plus those that already have been invoiced.
hours_quantity: | Hours Tot, float, readonly |
Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type ‘general’.
deduplication_level: |
| Deduplication Level, integer |
The deduplication level defines the order in which the deduplication takes place.
theorical_margin: |
| Theorical Margin, float, readonly |
Computed using the formula: Theorial Revenue - Total Costs
ca_theorical: | Theorical Revenue, float, readonly |
Based on the costs you had on the project, what would the revenue have been if all these costs were invoiced at the normal sale price given by the pricelist.
quantity_wanted: |
| Wanted Quantity, integer |
The wanted quantity is the number of addresses you wish to get for that segment.
This is usually the quantity used to order Customers Lists
The wanted quantity could be AAA for All Addresses Available
type_census: | Census Type, selection |
name: | Account Name, char, required |
end_census: | End Census, integer |
address_ids: | Partners Contacts, many2many |
real_margin_rate: |
| Real Margin Rate (%), float, readonly |
Computes using the formula: (Real Margin / Total Costs) * 100.
revenue_per_hour: |
| Revenue per Hours (real), float, readonly |
Computed using the formula: Invoiced Amount / Hours Tot.
quantity_dedup_dedup: |
| Deduplication Quantity, integer |
The quantity of duplicated addresses removed by the deduplicator.
month_ids: | Month, many2many, readonly |
quantity_real: | Real Quantity, integer |
The real quantity is the actual number of addresses in the customers file (by counting).
line_ids: | Analytic Entries, one2many |
balance: | Balance, float, readonly |
remaining_hours: |
| Remaining Hours, float, readonly |
Computed using the formula: Maximum Quantity - Hours Tot.
Object: Sale Order (dm.customer.order)
order_line: | Order Lines, one2many, readonly |
picking_policy: | Packing Policy, selection, required |
If you don’t have enough stock available to deliver all at once, do you accept partial shipments or not?
order_policy: | Shipping Policy, selection, required, readonly |
The Shipping Policy is used to synchronise invoice and delivery operations.
- The ‘Pay before delivery’ choice will first generate the invoice and then generate the packing order after the payment of this invoice.
- The ‘Shipping & Manual Invoice’ will create the packing order directly and wait for the user to manually click on the ‘Invoice’ button to generate the draft invoice.
- The ‘Invoice on Order After Delivery’ choice will generate the draft invoice based on sale order after all packing lists have been finished.
- The ‘Invoice from the packing’ choice is used to create an invoice during the packing process.
invoice_ids: | Invoice, many2many |
This is the list of invoices that have been generated for this sale order. The same sale order may have been invoiced in several times (by line for example).
shop_id: | Shop, many2one, required, readonly |
client_order_ref: |
| Customer Ref, char |
date_order: | Date Ordered, date, required, readonly |
partner_id: | Customer, many2one, readonly |
invoiced: | Paid, boolean, readonly |
fiscal_position: |
| Fiscal Position, many2one |
user_id: | Salesman, many2one |
payment_term: | Payment Term, many2one |
amount_tax: | Taxes, float, readonly |
offer_step_id: | Offer Step, many2one |
state: | Status, selection, readonly |
abstract_line_ids: |
| Order Lines, one2many, readonly |
invoiced_rate: | Invoiced, float, readonly |
pricelist_id: | Pricelist, many2one, required, readonly |
advertising_agency: |
| Advertising Agency, many2one |
project_id: | Analytic Account, many2one, readonly |
incoterm: | Incoterm, selection |
published_customer: |
| Published Customer, many2one |
partner_order_id: |
| Ordering Contact, many2one, required, readonly |
The name and address of the contact that requested the order or quotation.
picked_rate: | Picked, float, readonly |
partner_invoice_id: |
| Invoice Address, many2one, required, readonly |
amount_untaxed: | Untaxed Amount, float, readonly |
picking_ids: | Related Packing, one2many, readonly |
This is the list of picking list that have been generated for this invoice
amount_total: | Total, float, readonly |
customer_id: | Customer, many2one |
name: | Order Description, char, required |
partner_shipping_id: |
| Shipping Address, many2one, required, readonly |
segment_id: | Segment, many2one |
price_type: | Price method, selection, required |
shipped: | Picked, boolean, readonly |
invoice_quantity: |
| Invoice on, selection, required |
The sale order will automatically create the invoice proposition (draft invoice). Ordered and delivered quantities may not be the same. You have to choose if you invoice based on ordered or shipped quantities. If the product is a service, shipped quantities means hours spent on the associated tasks.
discount_campaign: |
| Discount Campaign, many2one |
margin: | Margin, float, readonly |