Public Sub CreateAPInvoice()

   Dim oInvoice As CAPInvoice
   Set oInvoice = New CAPInvoice
   
   With oInvoice
       .Init FE_Application.SessionContext
       .Fields(APINVOICES_fld_AP7VENDORSID) = 2
       .Fields(APINVOICES_fld_REMITTO) = 1
       .Fields(APINVOICES_fld_POSTDATE) = Date
       .Fields(APINVOICES_fld_DESCRIPTION) = "Marc's GST Rebate Test"
       .Fields(APINVOICES_fld_PAYMENTMETHOD) = "Check"
       .Fields(APINVOICES_fld_INVOICEAMOUNT) = "$1.00"
       .Fields(APINVOICES_fld_INVOICEDATE) = "01/07/2016"
       .Fields(APINVOICES_fld_INVOICENUMBER) = "1116"
       
        ''Add GST Tax and Rebate information
       .Fields(APINVOICES_fld_APSALESTAXITEMSID) = "1" ''Sales Tax Entity = GST
       .Fields(APINVOICES_fld_TAXAMOUNT) = "0.49" ''Goods and Services Tax (GST) Amount
       .Fields(APINVOICES_fld_ACTIVITYCODEID) = 2 '' PSB Actvity Code = 301 (University)
       '' Defaulting to CREDIT A/C 01-1000-00 and DEBIT A/C 01-2000-00
                          
       With .Distribution.Add
          .Fields(BBDISTRIBUTIONS_fld_TAXENTITYID) = 433 '' TableentriesID => 301 - University
          .Fields(BBDISTRIBUTIONS_fld_DEBITACCTNUM) = "01-2030-00" ''This will be the DB account for GL distribution and the CR account for GST rebate
          .Fields(BBDISTRIBUTIONS_fld_CREDITACCTNUM) = "01-2020-00" ''This will be the CR account for GL distribution but the GST rebate DB account will default to first liability account (ex: 01-2000-00)
          .Fields(BBDISTRIBUTIONS_fld_AMOUNT) = "1.49" ''Must be equal to invoice amt + tax
          .Fields(BBDISTRIBUTIONS_fld_BBDISTRIBUTIONSID) = 2
       End With
       
'       With .MiscellaneousEntries.Add
'        .Fields(BBDISTRIBUTIONS_fld_DEBITACCTNUM) = "01-2030-00"
'        .Fields(BBDISTRIBUTIONS_fld_CREDITACCTNUM) = "01-2020-00"
'        .Fields(BBDISTRIBUTIONS_fld_AMOUNT) = "1"
'        .Fields(BBDISTRIBUTIONS_fld_BBDISTRIBUTIONSID) = 2
'       End With
       
       .ApplyVendorDefaults False
       .Validate
       .Save
       .CloseDown

   End With

   Set oInvoice = Nothing
End Sub


Disclaimer: We provide programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes you are familiar with Microsoft Visual Basic and the tools used to create and debug procedures. Our Customer Support can help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality. If you are interested in learning more about the VBA and API modules, contact your account manager.