summaryrefslogtreecommitdiff
path: root/htdocs/docs/billing.html
blob: 02bfbd783e1c870a4d3d13d917a88a43e90833e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<head>
  <title>Billing</title>
</head>
<body>
  <h1>Billing</h1>
  The bin/bill script can be run daily to bill all customers.  Usage: bill [ -c [ i ] ] [ -d <i>date</i> ] [ -b ]
  <ul>
    <li>-c: Turn on collecting (you probably want this).
    <li>-i: Real-time billing (as opposed to bacth billing).  Only relevant for credit cards.  Not available without modifying site_perl/Bill.pm
    <li>-d: Pretend it is <i>date</i> (parsed by Date::Parse)
    <li>-b: N/A
  </ul>
  Printing should be configured on your freeside machine to print invoices.
  <br><br>Batch credit card processing
  <ul>
    <li>After this script is run, a credit card batch will be in the <a href="schema.html#cust_pay_batch">cust_pay_batch</a> table.  Export this table to your credit card batching.
    <li>When your batch completes, erase the cust_pay_batch records in that batch and add any necessary paymants to the <a href="schema.html#cust_pay">cust_pay</a> table.  Example code to add payments is:
    <pre>use FS::cust_pay;

# loop over all records in batch

my $payment=create FS::cust_pay (
  'invnum' => $invnum,
  'paid' => $paid,
  '_date' => $_date,
  'payby' => $payby,
  'payinfo' => $payinfo,
  'paybatch' => $paybatch,
);

my $error=$payment->insert;
if ( $error ) {
  #process error
}

# end loop
</pre>
All fields except paybatch are contained in the cust_pay_batch table.  You can use paybatch field to track particular batches and/or particular transactions within a batch.
  </ul>
</body>