<?xml version="1.0" encoding="ISO-8859-1" ?>
<construct>
    <!-- define the module name -->
    <module>invoice</module>
    <!-- define the module table name -->
    <table>invoice</table>
    <!-- define the module dependancy(s) -->
    <dependancy/>
    <!-- define the DB cache in seconds -->
    <cache>0</cache>
    <!-- define the default order_by field for SQL queries -->
    <order_by>date_orig</order_by>
    <!-- define the methods -->
    <limit>25</limit>
    <!-- define database indexes -->
    <index>
        <orig>date_orig</orig>
        <last>date_last</last>
        <parent>parent_id</parent>
        <billing>billing_status</billing>
        <process>process_status</process>
        <suspend>suspend_billing</suspend>
        <refund>refund_status</refund>
        <account>account_id</account>
        <affiliate>affiliate_id</affiliate>
        <campaign>campaign_id</campaign>
        <reseller>reseller_id</reseller>
        <amount>total_amt</amount>
        <due_date>due_date</due_date>
        <checkout>checkout_plugin_id</checkout>
        <tax>tax_id</tax>
    </index>
    <!-- define the fields -->
    <field>
        <id>
            <type>I4</type>
            <unique>1</unique>
            <index>1</index>
        </id>
        <site_id>
            <type>I4</type>
            <index>1</index>
        </site_id>
        <date_orig>
            <type>I8</type>
            <convert>date-time</convert>
        </date_orig>
        <date_last>
            <type>I8</type>
            <convert>date-now</convert>
        </date_last>
        <parent_id>
            <type>I4</type>
        </parent_id>
        <type>
            <type>L</type>
        </type>
        <process_status>
            <type>L</type>
        </process_status>
        <billing_status>
            <type>L</type>
        </billing_status>
        <refund_status>
        	<type>L</type>
        </refund_status>
        <suspend_billing>
            <type>L</type>
        </suspend_billing>
        <print_status>
            <type>L</type>
        </print_status>
        <account_id>
            <type>I8</type>
            <asso_table>account</asso_table>
            <asso_field>first_name,last_name</asso_field>
        </account_id>
        <account_billing_id>
            <type>I4</type>
        </account_billing_id>
        <affiliate_id>
            <type>C(32)</type>
        </affiliate_id>
        <campaign_id>
            <type>I4</type>
        </campaign_id>
        <custom_affiliate_status>
            <type>L</type>
        </custom_affiliate_status>
        <reseller_id>
            <type>C(32)</type>
        </reseller_id>
        <checkout_plugin_id>
            <type>I4</type> 
        </checkout_plugin_id>
        <checkout_plugin_data>
            <type>C(255)</type>
            <convert>array</convert>
        </checkout_plugin_data>
        <tax_id>
            <type>I4</type> 
        </tax_id>
        <tax_amt>
            <type>F</type>
        </tax_amt>
        <discount_arr>
            <type>C(255)</type>
            <convert>array</convert>
        </discount_arr>
        <discount_amt>
            <type>F</type>
        </discount_amt>
        <recur_amt>
            <type>F</type>
        </recur_amt>        
        <total_amt>
            <type>F</type>
        </total_amt>
        <billed_amt>
            <type>F</type>
        </billed_amt>
        <billed_currency_id>
            <type>I4</type>
        </billed_currency_id>
        <actual_billed_amt>
            <type>F</type>
        </actual_billed_amt>
        <actual_billed_currency_id>
            <type>I4</type>
        </actual_billed_currency_id>
        <notice_count>
            <type>I4</type>
        </notice_count>
        <notice_max>
            <type>I4</type>
        </notice_max>
        <notice_next_date>
            <type>I8</type>
            <convert>date-time</convert>
        </notice_next_date>
        <grace_period>
            <type>I4</type>
        </grace_period>
        <due_date>
            <type>I8</type>
            <convert>date-time</convert>
        </due_date>
        <recur_arr>
            <type>X</type>
        </recur_arr>        
        <notes>
            <type>X</type>
        </notes>
        <net_term_id>
        	<type>L</type> 
        </net_term_id>
        <net_term_date_last>
        	<type>I8</type>
        </net_term_date_last>
        <net_term_intervals>
        	<type>I4</type>
        </net_term_intervals>      
        <ip>
        	<type>C(32)</type>
        </ip>            
    </field>
    <!-- define all the methods for this class, and the fields they have access to, if applicable. -->
    <method>
        <add>id,site_id,date_orig,date_last,type,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,checkout_plugin_data,tax_id,tax_amt,discount_arr,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date</add>
        <update>id,site_id,date_orig,date_last,type,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,checkout_plugin_data,tax_id,tax_amt,discount_arr,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals</update>
        <delete>id,site_id,date_orig,date_last,type,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,checkout_plugin_data,tax_id,tax_amt,discount_arr,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date</delete>
        <view>id,site_id,date_orig,date_last,type,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,checkout_plugin_data,tax_id,tax_amt,discount_arr,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals,ip</view>
        <search>id,site_id,date_orig,date_last,type,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,checkout_plugin_data,tax_id,tax_amt,discount_arr,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals,ip</search>
        <export_excel>id,date_orig,date_last,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,tax_id,tax_amt,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals</export_excel>
        <export_pdf>id,date_orig,date_last,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,tax_id,tax_amt,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals</export_pdf>
        <export_xml>id,date_orig,date_last,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,tax_id,tax_amt,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals</export_xml>
        <export_csv>id,date_orig,date_last,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,tax_id,tax_amt,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals</export_csv>
        <export_tab>id,date_orig,date_last,process_status,billing_status,suspend_billing,print_status,account_id,account_billing_id,affiliate_id,campaign_id,reseller_id,checkout_plugin_id,tax_id,tax_amt,discount_amt,total_amt,billed_amt,billed_currency_id,actual_billed_amt,actual_billed_currency_id,notice_count,notice_max,notice_next_date,grace_period,due_date,net_term_date_last,net_term_id,net_term_intervals</export_tab>
    </method>
    <!-- define the method triggers -->
    <trigger>0</trigger>
</construct>
