|  | <?xml version="1.0"?>
<odoo>
    <data>
    	<!-- 根菜单 -->
        <menuitem id="menu_money_root" name="资金" groups='group_cashier'  web_icon="money,static/description/icon.png" sequence='600'/>
        <menuitem id="menu_money_manage" name="单据" parent="menu_money_root" sequence="1"/>
        
        <menuitem id="menu_money_setting" name="设置" parent="menu_money_root" sequence="3"/>
        <menuitem id='bank_account_menu' name='账户' action='core.bank_account_action'
        	parent='menu_money_setting' sequence='1'/>
        <menuitem id="menu_pay_method" action="pay_method_action"
		    parent="menu_money_setting" sequence="2"/>
        <menuitem id='service_menu' name='收支项' action='core.service_action'
        	parent='menu_money_setting' groups='core.service_groups' sequence='3'/>
        <menuitem id='settle_mode_menu' name='结算方式' action='core.settle_mode_action'
        	parent='menu_money_setting' groups='core.settle_mode_groups' sequence='4'/>
        <menuitem id='customer_menu' action='core.customer_action' name="客户" 
            parent='menu_money_setting' sequence='5'/>
        <menuitem id='vendor_menu' action='core.vendor_action' name="供应商" 
            parent='menu_money_setting' sequence='6'/>
		<!--收/付款单list-->
    	<record id="money_order_list" model="ir.ui.view">
            <field name="name">money.order.list</field>
            <field name="model">money.order</field>
            <field name="arch" type="xml">
                <list string="收付款单" decoration-info='state == "draft"' decoration-muted= 'state == "cancel"' >
                    <field name="name" string="单据编号" optional="show"/>
                    <field name="date" optional="show"/>
                    <field name="partner_id" optional="show"/>
                    <field name="amount" sum="合计" optional="show"/>
                    <field name="state" optional="show"/>
                    <field name="to_reconcile" sum="未核销总额" optional="show"/>
                    <button name="create_reconcile" type='object' string="核销"
                            invisible="to_reconcile==0"/>
                </list>
            </field>
        </record>
        <!--收/付款单form-->
        <record id="money_order_form" model="ir.ui.view">
            <field name="name">money.order.form</field>
            <field name="model">money.order</field>
            <field name="arch" type="xml">
                <form string="收付款单">
                <header>
                	<button name="money_order_done" invisible="state!='draft'" string="确认" 
                		type="object" class="oe_highlight" groups='money.group_money_manager'/>
					<button name="money_order_draft" invisible="state!='done'" string="撤销确认" 
						type="object" groups='money.group_money_manager'/>
                    <button name="action_cancel" invisible="state!='draft'" string="作废"
						type="object"/>
                    <field name="state" widget="statusbar"/>
                </header>
                <sheet>
                    <div class="oe_title">
                        <h1>
                            <field name="name" class="oe_inline" readonly="1"/>
                        </h1>
                    </div>
                    <group>
                        <group>
                            <field name="date" readonly="state!='draft'"/>
				            <field name="partner_id"
                                   readonly="state!='draft'"
				            	   options="{'no_open': True, 'no_create': True}"/>
				            <field name="bank_name"
				            	    invisible="context.get('default_get', 0)"
                                    readonly="state!='draft'"
				            	    required="context.get('default_pay', 0)"/>
				            <field name="bank_num"
				            	    invisible="context.get('default_get', 0)"
                                    readonly="state!='draft'"
				            	    required="context.get('default_pay', 0)"/>
                            <field name="currency_id"/>
                        </group>
                       <group>
                            <field name="line_ids" nolabel="1" colspan='2' readonly="state!='draft'">
                                <list string="Money Order Lines" editable="bottom">
                                    <field name="bank_id" optional="show"/>
                                    <field name="amount" sum="合计" optional="show"/>
                                    <field name="currency_id" optional="show"/>
                                    <field name="mode_id" groups='core.settle_mode_groups' optional="show"/>
                                    <field name="number" groups='core.settle_mode_groups' optional="show"/>
                                    <field name="note" optional="show"/>
                                </list>
                            </field>
                        </group>
                    </group>
                    <button name="write_off_reset" invisible="state!='draft'" string="核销行金额清零" type="object" class="oe_right"/>
                    <field name="source_ids" groups='money.reconcile_groups' readonly="state!='draft'">
						<list string="Source Order Lines" create="false" editable="bottom">
                    		<field name="name" readonly='1' force_save="1" optional="show"/>
                    		<field name="category_id" readonly='1' force_save="1" optional="show"/>
                            <field name="date" readonly='1' force_save="1" optional="hide"/>
                            <field name="invoice_date" readonly='1' force_save="1" optional="show"/>
                            <field name="date_due" readonly='1' force_save="1" optional="show"/>
                            <field name="amount" readonly='1' sum="合计" force_save="1" optional="show"/>
                            <field name="reconciled" readonly='1' sum="合计" force_save="1" optional="show"/>
                            <field name="to_reconcile" readonly='1' sum="合计" force_save="1" optional="show"/>
                            <field name="this_reconcile" sum="合计" optional="show"/>
                       </list>
                    </field>
	                <field name="note"  placeholder="备注信息……"/>
	                <group>
                    	<group>
		                	<field name="discount_amount" groups="money.reconcile_groups" readonly="state!='draft'"/>
                            <field name="discount_account_id" required="discount_amount!=0"
                                   options="{'no_open': True, 'no_create': True}"
                                   groups="money.reconcile_groups"
                                   readonly="state!='draft'"/>
		                </group>
		                <group>	
		                	<field name="advance_payment" groups="money.reconcile_groups"/>
                            <field name="voucher_id"/>
		                </group>
		             </group>
                     <group>
                        <group>
                            <field name="create_uid" readonly="1" string="制单人"/>
                            <field name="approve_uid" readonly="1"/>
                        </group>
                    	<group>
                            <field name="create_date" readonly="1" string="录单时间"/>
                            <field name="approve_date" readonly="1"/>
                        </group>
                    </group> 
                </sheet>
                <chatter/>
                </form>
            </field>
        </record>
		<!--收/付款单 search 视图-->
		<record id="money_order_search" model="ir.ui.view">
            <field name="name">money.order.search</field>
            <field name="model">money.order</field>
            <field name="arch" type="xml">
                <search string="收/付款单">
                    <field name="name"/>
                    <field name="partner_id"/>
                    <field name="amount"/>
                    <field name="state"/>
                    <filter name="draft" string="草稿" domain="[('state','=','draft')]"/>
                    <filter name="done" string="已确认" domain="[('state','=','done')]"/>
                    <group expand="0" string="分组">
                        <filter name="by_partner" string="业务伙伴" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter name="by_day" string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
                        <filter name="by_currency" string="币种" domain="[]" context="{'group_by':'currency_id'}"/>
                    </group>
                </search>
            </field>
        </record>
        <!-- 收款管理 action -->
        <record id="money_receipt_action" model="ir.actions.act_window">
            <field name="name">收款单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.order</field>
            <field name="view_mode">list,form,graph</field>
            <field  name='context'>{'type':'get', 'default_get': 1, 'default_pay': 0}</field>
            <field name="domain">[('type','=','get')]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                点击创建收款单
              </p>
            </field>
        </record>
        
        <!-- 付款管理 action -->
        <record id="money_payment_action" model="ir.actions.act_window">
            <field name="name">付款单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.order</field>
            <field name="view_mode">list,form</field>
            <field  name='context'>{'type':'pay', 'default_get': 0, 'default_pay': 1}</field>
            <field name="domain">[('type','=','pay')]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                点击创建付款单
              </p>
            </field>
        </record>
        <!--结算单list-->
    	<record id="money_invoice_list" model="ir.ui.view">
            <field name="name">money.invoice.list</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <list string="结算单" editable='top' create="false" delete="false">
                    <field name="state" column_invisible="1"/>
                    <field name="date" readonly="1" optional="show"/>
                    <field name="name" readonly="1" optional="show"/>
                    <button name="find_source_order" type="object" string="查看原始单据" icon="fa-search" 
                        invisible="is_init or name == '.'"/>
                    <field name="partner_id" readonly="1"  optional="show"/>
            		<field name="category_id" readonly="1" optional="show"/>
                    <field name="voucher_id" readonly="1" optional="show"/>
                    <field name="cogs_voucher_id" readonly="1" optional="hide"/>
                    <field name="currency_id"
                    	  readonly="1" optional="hide"/>
                    <field name="amount" sum="金额" readonly="1"  optional="show"/>
                    <button name="amount_add" type='object' string="+" invisible="state!='done'"/>
                    <button name="amount_sub" type='object' string="-" invisible="state!='done'" />
                    <field name="reconciled" sum="已核销金额" readonly="1" optional="show"/>
                    <field name="to_reconcile" sum="未核销金额" readonly="1" optional="show"/>
                    <field name="tax_amount" sum="税额" readonly="1" optional="hide"/>
                    <button name="tax_add" type='object' string="+" invisible="state!='done'"/>
                    <button name="tax_sub" type='object' string="-" invisible="state!='done'"/>
                    <button name="money_invoice_done" invisible="state!='draft'" string="确认收票" type="object"/>
                    <button name="money_invoice_draft" invisible="state!='done'" string="撤销收票" type="object"/>
                    <field name="auxiliary_id" optional="hide"/>
                    <field name="bill_number" optional="show"/>
                    <field name="invoice_date" optional="show"/>
                    <field name="pay_method" readonly="1" optional="hide"/>
                    <field name="date_due" optional="show"/>
                    <field name="note" optional="hide"/>
                    <field name="overdue_days" readonly="1"  optional="show"/>
                    <field name="overdue_amount" sum="逾期金额" readonly="1" optional="show"/>
                    <field name="is_init" invisible="1" optional="show"/>
                </list>
            </field>
        </record>
        <!--手工结算单list-->
    	<record id="money_handwork_invoice_list" model="ir.ui.view">
            <field name="name">money.invoice.handwork.list</field>
            <field name="model">money.invoice</field>
            <field name="priority">17</field>
            <field name="arch" type="xml">
                <list string="结算单" decoration-info='state == "draft"'>
                    <field name="state" invisible="1" optional="show"/>
                    <field name="date" readonly="1" optional="show"/>
                    <field name="name" readonly="1" optional="show"/>
                    <field name="partner_id" readonly="1"  optional="show"/>
            		<field name="category_id" readonly="1" optional="show"/>
                    <field name="voucher_id" readonly="1" optional="show"/>
                    <field name="currency_id"
                    	  readonly="1" optional="hide"/>
                    <field name="amount" sum="金额" readonly="1"  optional="show"/>
                    <field name="reconciled" sum="已核销金额" readonly="1" optional="show"/>
                    <field name="to_reconcile" sum="未核销金额" readonly="1" optional="show"/>
                    <field name="tax_amount" sum="税额" readonly="1" optional="hide"/>
                    <field name="auxiliary_id" optional="hide"/>
                    <field name="bill_number" optional="show"/>
                    <field name="invoice_date" optional="show"/>
                    <field name="pay_method" readonly="1" optional="hide"/>
                    <field name="date_due" optional="show"/>
                    <field name="note" optional="hide"/>
                    <field name="overdue_days" readonly="1"  optional="show"/>
                    <field name="overdue_amount" sum="逾期金额" readonly="1" optional="show"/>
                </list>
            </field>
        </record>
        <!--手工结算单form-->
    	<record id="money_handwork_invoice_form" model="ir.ui.view">
            <field name="name">money.invoice.handwork.form</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <form string="结算单">
                    <header>
                        <button name="money_invoice_done" invisible="state!='draft'" string="确认" type="object" class="oe_highlight"/>
                         <button name="money_invoice_draft" invisible="state!='done'" string="撤销" type="object"/>
                         <field name="state" widget="statusbar"/>
                    </header>
                    <group>
                        <group>
                            <field name="date" readonly="state != 'draft'"/>
                            <field name="partner_id" readonly="state != 'draft'"/>
                            <field name="amount" readonly="state != 'draft'"/>
                            <field name="tax_amount" readonly="state != 'draft'"/>
                            <field name="bill_number" readonly="state != 'draft'"/>
                            <field name="invoice_date" readonly="state != 'draft'"/>
                        </group>
                        <group>
                            <field name="date_due"/>
                            <field name="category_id" required="1" readonly="state != 'draft'"/>
                            <field name="auxiliary_id" readonly="state != 'draft'"/>
                            <field name="currency_id"  readonly="state != 'draft'"/>
                            <field name="note"/>
                        </group>
                    </group>
                </form>
            </field>
        </record>
        <!--结算单 form 视图-->
        <record id="money_invoice_form" model="ir.ui.view">
            <field name="name">money.invoice.form</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <form string="结算单">
                <header>
                     <button name="money_invoice_done" invisible="state!='draft'" string="确认" type="object" class="oe_highlight"/>
                     <button name="money_invoice_draft" invisible="state!='done'" string="撤销" type="object" class="oe_highlight"/>
                     <field name="state" widget="statusbar"/>
                 </header>
                  <sheet>
                    <group>
                     <group>
                    <field name="date" readonly="state != 'draft'"/>
                    <field name="partner_id" readonly="state != 'draft'"/>
                    <field name="amount" readonly="state != 'draft'"/>
                    <field name="tax_amount" readonly="state != 'draft'"/>
                    <field name="bill_number" readonly="state != 'draft'"/>
                    <field name="invoice_date" readonly="state != 'draft'"/>
                    </group>
                    <group>
                    <field name="date_due"/>
                    <field name="category_id" required="1" readonly="state != 'draft'"/>
                    <field name="auxiliary_id" readonly="state != 'draft'"/>
                    <field name="currency_id"
                    	  readonly="state != 'draft'"/>
                    <field name="handwork" invisible="1"/>
                    <field name="note" required="handwork" readonly="state!='draft'"/>
                    </group>
                    </group>
                    </sheet>
                </form>
            </field>
        </record>
        <record id="money_invoice_pivot" model="ir.ui.view">
            <field name="name">money.invoice.pivot</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <pivot>
                    <field name="category_id" type="row"/>
                    <field name="to_reconcile" type="measure"/>
                </pivot>
            </field>
        </record>
        <!--结算单 search 视图-->
    	<record id="money_invoice_search" model="ir.ui.view">
            <field name="name">money.invoice.search</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <search string="结算单">
                    <field name="partner_id"/>
                    <field name="name"/>
            		<field name="category_id"/>
                    <field name="amount"/>
                    <filter name="done" string="已开票" domain="[('invoice_date','!=',False)]"/>
                    <filter name="draft" string="未开票" domain="[('invoice_date','=',False)]"/>
                    <filter name="to_reconcile" string="未核销" domain="[('state','=','done'),('to_reconcile','>',0)]"/>
                    <filter name="by_partner" string="业务伙伴" domain="[]" context="{'group_by':'partner_id'}"/>
                    <filter name="by_category" string="类别" domain="[]" context="{'group_by':'category_id'}"/>
                    <filter name="by_month" string="单据日期" domain="[]" context="{'group_by':'date:month'}"/>
                    <filter name="by_due" string="到期日" domain="[]" context="{'group_by':'date_due:month'}"/>
                </search>
            </field>
        </record>
        <!-- 结算单 action -->
        <record id="money_invoice_action" model="ir.actions.act_window">
            <field name="name">结算单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="view_id" ref="money_invoice_list"/>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">list,pivot</field>
        </record>
        <!-- 查看结算单, 用于客户上的按钮显示未核销发票 -->
        <record id="money_invoice_mini_list" model="ir.ui.view">
            <field name="name">money.invoice.list</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <list string="欠款记录" create="false" delete="false">
                    <field name="date"/>
                    <field name="name"/>
                    <button name="find_source_order" type="object" string="查看原始单据" icon="fa-search" 
                        invisible="is_init or name=='.'"/>
                    <field name="currency_id"
                    	  optional="hide"/>
                    <field name="amount"/>
                    <field name="to_reconcile" sum="未核销金额" />
                    <field name="overdue_days" />
                    <field name="overdue_amount" sum="逾期金额" />
                    <field name="pay_method" />
                    <field name="date_due" />
                    <field name="bill_number" />
                    <field name="invoice_date"/>
                    <field name="note" />
                    <field name="is_init" invisible="1"/>
                </list>
            </field>
        </record>
        <record id="action_view_money_invoice" model="ir.actions.act_window">
            <field name="name">欠款记录</field>
            <field name="type">ir.actions.act_window</field>
            <field name="view_id" ref="money_invoice_mini_list"/>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">list</field>
        </record>
        <!-- 手工结算单 action -->
        <record id="money_invoice_handwork_action" model="ir.actions.act_window">
            <field name="name">手工结算单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.invoice</field>
            <field name="domain">[('handwork', '=', True)]</field>
            <field name="context">{'default_handwork':True}</field>
            <field name="view_mode">list,form</field>
            <field name="view_ids"
               eval="[(5, 0, 0),
                      (0, 0, {'view_mode': 'list', 'view_id': ref('money_handwork_invoice_list')}),
                      (0, 0, {'view_mode': 'form', 'view_id': ref('money_handwork_invoice_form')}),
                      ]"/>
        </record>
        <!-- 销售发票 action -->
        <record id="money_invoice_income_action" model="ir.actions.act_window">
            <field name="name">销售发票</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">form</field>
            <field name="context">{'type':'income', 'default_name':'.'}</field>
        </record>
        <!-- 采购发票 action -->
        <record id="money_invoice_expense_action" model="ir.actions.act_window">
            <field name="name">采购发票</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">form</field>
            <field name="context">{'type':'expense', 'default_name':'.'}</field>
        </record>
		<!-- 收款单menu、付款单menu -->
        <menuitem id="menu_money_receipt_action" action="money_receipt_action" parent="menu_money_manage" sequence="1"/>
        <menuitem id="menu_money_payment_action" action="money_payment_action" parent="menu_money_manage" sequence="2"/>
		<!-- 结算单menu -->
		<menuitem id="menu_money_invoice_action" action="money_invoice_action"
			name="结算单" parent="menu_money_manage" sequence="3"
			groups='money.reconcile_groups'/>
        <!-- 手工结算单menu -->
		<menuitem id="menu_money_invoice_handwork_action" action="money_invoice_handwork_action"
			name="手工结算单" parent="menu_money_manage" sequence="4"
			groups='money.money_invoice_handwork_groups'/>
	</data>
</odoo>
	
 |