1 <?xml version="1.0" encoding="utf-8"?>
5 <!-- followup of customers views -->
7 <record id="customer_followup_tree" model="ir.ui.view">
8 <field name="name">res.partner.followup.inherit.tree</field>
9 <field name="model">res.partner</field>
10 <field name="priority" eval="20"/>
11 <field name="arch" type="xml">
12 <tree string="Customer Followup" create="false" delete="false">
13 <field name="display_name"/>
14 <field name="payment_next_action_date"/>
15 <field name="payment_next_action"/>
16 <field name="user_id" invisible="1"/>
17 <field name="country_id" invisible="1"/>
18 <field name="parent_id" invisible="1"/>
19 <field name="payment_responsible_id"/>
20 <field name="payment_earliest_due_date"/>
21 <field name="latest_followup_level_id"/>
22 <field name="payment_amount_overdue"/>
23 <field name="payment_amount_due" />
28 <record id="view_partner_inherit_customer_followup_tree" model="ir.ui.view">
29 <field name="name">res.partner.followup.inherit.tree</field>
30 <field name="model">res.partner</field>
31 <field name="inherit_id" ref="base.view_partner_tree"/>
32 <field name="arch" type="xml">
33 <field name="display_name" position="after">
34 <field name="payment_responsible_id" invisible="1"/>
39 <record id="customer_followup_search_view" model="ir.ui.view">
40 <field name="name">Search</field>
41 <field name="model">res.partner</field>
42 <field name="inherit_id" ref="base.view_res_partner_filter"/>
43 <field name="arch" type="xml">
44 <search string="Search Partner" position="inside">
45 <group string="Follow-up">
46 <filter string="Partners with Overdue Credits" domain="[('payment_amount_overdue', '>', 0.0)]" name="credits"/>
48 <filter string="Follow-ups To Do" domain="[('payment_next_action_date', '<=', time.strftime('%%Y-%%m-%%d')), ('payment_amount_overdue', '>', 0.0)]" name="todo"/>
50 <filter string="No Responsible" domain="[('payment_responsible_id', '=', False)]"/>
51 <filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]" name="my"/>
53 <group expand="1" string="Group By...">
54 <filter string="Follow-up Responsible" context="{'group_by':'payment_responsible_id'}"/>
55 <filter string="Followup Level" context="{'group_by':'latest_followup_level_id'}"/>
63 <record id="action_customer_followup" model="ir.actions.act_window">
64 <field name="name">Manual Follow-Ups</field>
65 <field name="view_id" ref="customer_followup_tree"/>
66 <field name="res_model">res.partner</field>
67 <field name="view_type">form</field>
68 <field name="view_mode">tree,form</field>
69 <field name="domain">[('payment_amount_due', '>', 0.0)]</field>
70 <field name="context">{'Followupfirst':True, 'search_default_todo': True} </field>
71 <field name="search_view_id" ref="customer_followup_search_view"/>
74 <!--Inherited view -->
75 <record id="view_partner_inherit_followup_form" model="ir.ui.view">
76 <field name="name">res.partner.followup.form.inherit</field>
77 <field name="inherit_id" ref="base.view_partner_form"/>
78 <field name="model">res.partner</field>
79 <field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/>
80 <field name="arch" type="xml" >
81 <page string="Accounting" position="before" version="7.0">
82 <page string="Payment Follow-up" groups="account.group_account_invoice" name="followup_tab">
83 <div class="oe_right oe_button_box" name="followup_button">
84 <button name="do_button_print" type="object" string="Print Overdue Payments" groups="account.group_account_user"
85 help="Print overdue payments report independent of follow-up line" attrs="{'invisible':[('payment_amount_due', '<=', 0.0)]}" />
86 <button name="do_partner_mail" type="object" string="Send Overdue Email" groups="account.group_account_user"
87 help="If not specified by the latest follow-up level, it will send from the default email template" attrs="{'invisible':[('payment_amount_due', '<=', 0.0)]}"/>
89 <p attrs="{'invisible':[('latest_followup_date','=', False)]}">
90 The <field name="latest_followup_date" class = "oe_inline"/>, the latest payment follow-up
91 was: <field name="latest_followup_level_id" class="oe_inline"/>
94 <field name="payment_responsible_id" placeholder="Responsible of credit collection" class="oe_inline"/>
95 <label for="payment_next_action"/>
97 <field name="payment_next_action_date" class="oe_inline"/>
98 <button name="action_done" type="object" string="⇾ Mark as Done"
99 help="Click to mark the action as done." class="oe_link"
100 attrs="{'invisible':[('payment_next_action_date','=', False)]}"
101 groups="account.group_account_user"/>
102 <field name="payment_next_action" placeholder="Action to be taken e.g. Give a phonecall, Check if it's paid, ..."/>
105 <label for="payment_note" class="oe_edit_only"/>
106 <field name="payment_note" placeholder="He said the problem was temporary and promised to pay 50%% before 15th of May, balance before 1st of July."/>
108 Below is the history of the transactions of this
109 customer. You can check "No Follow-up" in
110 order to exclude it from the next follow-up actions.
112 <field name="unreconciled_aml_ids">
113 <tree string="Account Move line" editable="bottom" create="false" delete="false" colors="red:(not date_maturity or date_maturity<=current_date) and result>0">
114 <field name="date" readonly="True"/>
115 <field name="company_id" readonly="True" groups="base.group_multi_company" />
116 <field name="move_id" readonly="True"/>
117 <field name="blocked"/>
118 <field name="date_maturity" readonly="True"/>
119 <field name="reconcile_partial_id" readonly="True"/>
120 <field name="result" readonly="True"/>
121 <field name="followup_line_id" invisible='1'/>
124 <group class="oe_subtotal_footer oe_right">
125 <field name="payment_amount_due"/>
127 <div class="oe_clear"/>
133 <record id="action_view_customer_followup_form" model="ir.actions.act_window.view">
134 <field name="sequence" eval="2"/>
135 <field name="view_mode">form</field>
136 <field name="view_id" ref="view_partner_inherit_followup_form"/>
137 <field name="act_window_id" ref="action_customer_followup"/>
139 <record id="action_view_customer_followup_tree" model="ir.actions.act_window.view">
140 <field name="sequence" eval="1"/>
141 <field name="view_mode">tree</field>
142 <field name="view_id" ref="customer_followup_tree"/>
143 <field name="act_window_id" ref="action_customer_followup"/>
146 <!-- Menus about followup of customers -->
147 <menuitem id="account_followup_s" action="action_customer_followup"
148 parent="menu_finance_followup" name="Do Manual Follow-Ups" sequence="3"/>
149 <record id="action_customer_my_followup" model="ir.actions.act_window">
150 <field name="name">My Follow-Ups</field>
151 <field name="view_id" ref="customer_followup_tree"/>
152 <field name="res_model">res.partner</field>
153 <field name="view_type">form</field>
154 <field name="view_mode">tree,form</field>
155 <field name="domain">[('payment_amount_due', '>', 0.0)]</field>
156 <field name="context">{'Followupfirst':True, 'search_default_todo': True, 'search_default_my': True} </field>
157 <field name="search_view_id" ref="customer_followup_search_view"/>
159 <menuitem id="base.menu_sales_followup" parent="base.menu_base_partner" name="Payment Follow-up" groups="account.group_account_invoice" sequence="2"/>
160 <menuitem id="menu_sale_followup" parent="base.menu_sales_followup" sequence="10"
161 action="action_customer_my_followup" groups="account.group_account_invoice"/>