AnsweredAssumed Answered

Best practices for partial billing

Question asked by deathrobot on Jun 2, 2013
Latest reply on Jun 2, 2013 by deathrobot

Title

Best practices for partial billing

Post

      

     I am trying to create a system where I can have multiple invoices that are all connected to a single project, some of which are partial payments for a single service, and perhaps an invoice for an added-on service.
      
     For example, for project number 2013100, I might need 3 invoices:
      
     Invoice 2013100-001 - Service 1, first half due
     Invoice 2013100-002 - Service 1, second half due
     Invoice 2013100-003 - Service 2, full amount
      
     My trouble is figuring out the best way to deal with the partial payments invoices if I use the typical "Invoices » LineItems » Services" tables. I need to show the full project amount on both invoices 001 and 002.
      
     I could:
      
     1) Add a line item on the first invoice with description of "Amount to be billed later" and a negative amount. On the second invoice, I could add a line item with description of "previously billed (invoice 2013100-001)" also with a negative amount:
      
     INVOICE 2013100-001
      
     Line 1          Service 1                    Description                              Amount
     Line 2                                              To be billed later                     -$amount
      
                                                                                                                  Total
      
     INVOICE 2013100-002
      
          Line 1          Service 1                    Description                                Amount
          Line 2                                              amount previously billed         -$amount
           
                                                                                                                         Total
           
     Total
      
     This would be simple, but I don't like the idea of mixing services and payment info in the same LineItems table
      
     2) Add separate fields for amountDueNow and previouslyBilled:
      
     INVOICE 2013100-001
      
          Line 1          Service 1                    Description                                Amount
           
                                                                                                                    Total
                                                                                                                    Amount due now
      
     INVOICE 2013100-002
      
               Line 1          Service 1                    Description                                Amount
                
                                                                                                                         Total
                                                                                                                         Previously billed
                                                                                                                         Amount due now
           
     This seems troublesome for reporting because I now have connected Service 1 with double the amount of money I'm actually billing.
      
     3) Create another table for invoice amount connected to Invoices ("Invoices » InvoiceAmount")
      
     INVOICE 2013100-001
      
          Line 1          Service 1                    Description                                Amount
           
                                                                                                                    Total
                                                                                                                    Amount due now (InvoiceAmount::amount)
      
     However, this seems to require invoices 001 and 002 to be in the InvoiceAmount table, while invoice 003 stays in the Invoices table.
      
     I'm sure this has been solved many times already. Any advice?
      
     Thanks

Outcomes