tax adjustments, RT#5595
[freeside.git] / FS / FS / Schema.pm
index 7307165..aed8d60 100644 (file)
@@ -398,7 +398,9 @@ sub tables_hashref {
       'primary_key' => 'eventnum',
       #no... there are retries now #'unique' => [ [ 'eventpart', 'invnum' ] ],
       'unique' => [],
-      'index' => [ ['invnum'], ['status'], ['eventpart'] ],
+      'index' => [ ['invnum'], ['status'], ['eventpart'],
+                   ['statustext'], ['_date'],
+                 ],
     },
 
     'part_bill_event' => {
@@ -495,7 +497,9 @@ sub tables_hashref {
       'primary_key' => 'eventnum',
       #no... there are retries now #'unique' => [ [ 'eventpart', 'invnum' ] ],
       'unique' => [],
-      'index' => [ ['eventpart'], ['tablenum'], ['status'] ],
+      'index' => [ ['eventpart'], ['tablenum'], ['status'],
+                   ['statustext'], ['_date'],
+                 ],
     },
 
     'cust_bill_pkg' => {
@@ -509,6 +513,7 @@ sub tables_hashref {
         'sdate',               @date_type,              '', '', 
         'edate',               @date_type,              '', '', 
         'itemdesc',         'varchar', 'NULL', $char_d, '', '', 
+        'itemcomment',      'varchar', 'NULL', $char_d, '', '', 
         'section',          'varchar', 'NULL', $char_d, '', '', 
         'quantity',             'int', 'NULL',      '', '', '',
         'unitsetup',           @money_typen,            '', '', 
@@ -516,7 +521,7 @@ sub tables_hashref {
       ],
       'primary_key' => 'billpkgnum',
       'unique' => [],
-      'index' => [ ['invnum'], [ 'pkgnum' ] ],
+      'index' => [ ['invnum'], [ 'pkgnum' ], [ 'itemdesc' ], ],
     },
 
     'cust_bill_pkg_detail' => {
@@ -527,7 +532,7 @@ sub tables_hashref {
         'invnum',  'int', 'NULL', '', '', '',           # deprecated
         'amount',  @money_typen, '', '', 
         'format',  'char', 'NULL', 1, '', '',
-        'classnum', 'char', 'NULL', 1, '', '',
+        'classnum', 'int', 'NULL', '', '', '',
         'detail',  'varchar', '', 255, '', '', 
       ],
       'primary_key' => 'detailnum',
@@ -556,7 +561,7 @@ sub tables_hashref {
         'billpkgtaxlocationnum', 'serial',      '', '', '', '',
         'billpkgnum',               'int',      '', '', '', '',
         'taxnum',                   'int',      '', '', '', '',
-        'taxtype',              'varchar', $char_d, '', '', '',
+        'taxtype',              'varchar',      '', $char_d, '', '',
         'pkgnum',                   'int',      '', '', '', '',
         'locationnum',              'int',      '', '', '', '', #redundant?
         'amount',                   @money_type,        '', '',
@@ -566,6 +571,21 @@ sub tables_hashref {
       'index'  => [ [ 'billpkgnum' ], [ 'taxnum' ], [ 'pkgnum' ], [ 'locationnum' ] ],
     },
 
+    'cust_bill_pkg_tax_rate_location' => {
+      'columns' => [
+        'billpkgtaxratelocationnum', 'serial',      '', '', '', '',
+        'billpkgnum',                   'int',      '', '', '', '',
+        'taxnum',                       'int',      '', '', '', '',
+        'taxtype',                  'varchar',      '', $char_d, '', '',
+        'locationtaxid',            'varchar',  'NULL', $char_d, '', '',
+        'taxratelocationnum',           'int',      '', '', '', '',
+        'amount',                       @money_type,        '', '',
+      ],
+      'primary_key' => 'billpkgtaxratelocationnum',
+      'unique' => [],
+      'index'  => [ [ 'billpkgnum' ], [ 'taxnum' ], [ 'taxratelocationnum' ] ],
+    },
+
     'cust_credit' => {
       'columns' => [
         'crednum',  'serial', '', '', '', '', 
@@ -674,6 +694,7 @@ sub tables_hashref {
         'spool_cdr','char', 'NULL', 1, '', '', 
         'squelch_cdr','char', 'NULL', 1, '', '', 
         'invoice_terms', 'varchar', 'NULL', $char_d, '', '',
+        'archived', 'char', 'NULL', 1, '', '',
       ],
       'primary_key' => 'custnum',
       'unique' => [ [ 'agentnum', 'agent_custid' ] ],
@@ -682,6 +703,7 @@ sub tables_hashref {
                    [ 'agentnum' ], [ 'refnum' ], [ 'custbatch' ],
                    [ 'referral_custnum' ],
                    [ 'payby' ], [ 'paydate' ],
+                   [ 'archived' ],
                    #billing
                    [ 'last' ], [ 'company' ],
                    [ 'county' ], [ 'state' ], [ 'country' ],
@@ -695,6 +717,32 @@ sub tables_hashref {
                  ],
     },
 
+    'cust_recon' => {  # what purpose does this serve?
+      'columns' => [
+        'reconid',      'serial',  '',          '', '', '', 
+        'recondate',    @date_type,                 '', '', 
+        'custnum',      'int'   ,  '',          '', '', '', 
+        'agentnum',     'int',     '',          '', '', '', 
+        'last',         'varchar', '',     $char_d, '', '', 
+        'first',        'varchar', '',     $char_d, '', '', 
+        'address1',     'varchar', '',     $char_d, '', '', 
+        'address2',     'varchar', 'NULL', $char_d, '', '', 
+        'city',         'varchar', '',     $char_d, '', '', 
+        'state',        'varchar', 'NULL', $char_d, '', '', 
+        'zip',          'varchar', 'NULL',      10, '', '', 
+        'pkg',          'varchar', 'NULL', $char_d, '', '', 
+        'adjourn',      @date_type,                 '', '',
+        'status',       'varchar', 'NULL',      10, '', '', 
+        'agent_custid', 'varchar',  '',    $char_d, '', '',
+        'agent_pkg',    'varchar', 'NULL', $char_d, '', '', 
+        'agent_adjourn', @date_type,                '', '',
+        'comments',     'text',    'NULL',      '', '', '', 
+      ],
+      'primary_key' => 'reconid',
+      'unique' => [],
+      'index' => [],
+    },
+
     #eventually use for billing & ship from cust_main too
     #for now, just cust_pkg locations
     'cust_location' => {
@@ -741,6 +789,33 @@ sub tables_hashref {
       'index' => [ [ 'custnum' ], [ '_date' ], ],
     },
 
+    'cust_main_exemption' => {
+      'columns' => [
+        'exemptionnum', 'serial', '',      '', '', '',
+        'custnum',         'int', '',      '', '', '', 
+        'taxname',     'varchar', '', $char_d, '', '',
+        #start/end dates?  for reporting?
+      ],
+      'primary_key' => 'exemptionnum',
+      'unique'      => [],
+      'index'       => [ [ 'custnum' ] ],
+    },
+
+    'cust_tax_adjustment' => {
+      'columns' => [
+        'adjustmentnum', 'serial',     '',      '', '', '',
+        'custnum',          'int',     '',      '', '', '',
+        'taxname',      'varchar',     '', $char_d, '', '',
+        'amount',    @money_type,                   '', '', 
+        'comment',     'varchar',  'NULL', $char_d, '', '', 
+        'billpkgnum',       'int', 'NULL',      '', '', '',
+        #more?  no cust_bill_pkg_tax_location?
+      ],
+      'primary_key' => 'adjustmentnum',
+      'unique'      => [],
+      'index'       => [ [ 'custnum' ], [ 'billpkgnum' ] ],
+    },
+
     'cust_main_county' => { #county+state+country are checked off the
                             #cust_main_county for validation and to provide
                             # a tax rate.
@@ -799,6 +874,21 @@ sub tables_hashref {
       'index' => [ ['taxclassnum'], ['data_vendor', 'geocode'] ],
     },
 
+    'tax_rate_location' => { 
+      'columns' => [
+        'taxratelocationnum', 'serial',  '',     '', '', '', 
+        'data_vendor',        'varchar', 'NULL', $char_d, '', '',
+        'geocode',            'varchar', '',     20,      '', '', 
+        'city',               'varchar', 'NULL', $char_d, '', '',
+        'county',             'varchar', 'NULL', $char_d, '', '',
+        'state',              'char',    'NULL',       2, '', '', 
+        'disabled',           'char',    'NULL', 1, '', '',
+      ],
+      'primary_key' => 'taxratelocationnum',
+      'unique' => [],
+      'index' => [ [ 'data_vendor', 'geocode', 'disabled' ] ],
+    },
+
     'cust_tax_location' => { 
       'columns' => [
         'custlocationnum', 'serial',  '',     '', '', '', 
@@ -843,6 +933,7 @@ sub tables_hashref {
         'payinfo',      'varchar', 'NULL', 512, '', '', #see cust_main above
        'paymask',      'varchar', 'NULL', $char_d, '', '', 
         'paydate',      'varchar', 'NULL', 10, '', '', 
+        'recurring_billing', 'varchar', 'NULL', $char_d, '', '',
         #'paybatch',     'varchar', 'NULL', $char_d, '', '', #for auditing purposes.
         'payunique',    'varchar', 'NULL', $char_d, '', '', #separate paybatch "unique" functions from current usage
 
@@ -1128,9 +1219,12 @@ sub tables_hashref {
         'plan',          'varchar', 'NULL', $char_d, '', '', 
         'plandata',      'text', 'NULL', '', '', '', 
         'disabled',      'char', 'NULL', 1, '', '', 
+        'custom',        'char', 'NULL', 1, '', '', 
         'taxclass',      'varchar', 'NULL', $char_d, '', '', 
         'classnum',      'int',     'NULL', '', '', '', 
         'taxproductnum', 'int',     'NULL', '', '', '', 
+        'setup_cost',    @money_typen,          '', '',
+        'recur_cost',    @money_typen,          '', '',
         'pay_weight',    'real',    'NULL', '', '', '',
         'credit_weight', 'real',    'NULL', '', '', '',
         'agentnum',      'int',     'NULL', '', '', '', 
@@ -1229,7 +1323,7 @@ sub tables_hashref {
       ],
       'primary_key' => 'pkgsvcnum',
       'unique' => [ ['pkgpart', 'svcpart'] ],
-      'index' => [ ['pkgpart'] ],
+      'index' => [ ['pkgpart'], ['quantity'] ],
     },
 
     'part_referral' => {
@@ -1261,6 +1355,7 @@ sub tables_hashref {
         'columnnum',   'serial',         '', '', '', '', 
         'svcpart',     'int',         '', '', '', '', 
         'columnname',  'varchar',     '', 64, '', '', 
+        'columnlabel', 'varchar', 'NULL', $char_d, '', '',
         'columnvalue', 'varchar', 'NULL', $char_d, '', '', 
         'columnflag',  'char',    'NULL', 1, '', '', 
       ],
@@ -1499,10 +1594,13 @@ sub tables_hashref {
         'svcnum',         'int', 'NULL',      '', '', '', 
         'custnum',        'int', 'NULL',      '', '', '',
         'secure',        'char', 'NULL',       1, '', '',
+        'priority',       'int', 'NULL',      '', '', '',
       ],
       'primary_key' => 'jobnum',
       'unique'      => [],
-      'index'       => [ [ 'job' ], [ 'svcnum' ], [ 'custnum' ], [ 'status' ] ],
+      'index'       => [ [ 'secure' ], [ 'priority' ],
+                         [ 'job' ], [ 'svcnum' ], [ 'custnum' ], [ 'status' ],
+                       ],
     },
 
     'queue_arg' => {
@@ -2024,7 +2122,7 @@ sub tables_hashref {
         #NULL, done (or something)
         'freesiderewritestatus', 'varchar',   'NULL',     32,   '', '', 
 
-        'cdrbatch', 'varchar', 'NULL', $char_d, '', '',
+        'cdrbatch', 'varchar', 'NULL', 255, '', '',
 
       ],
       'primary_key' => 'acctid',