Public Sub CreateInvoice()

  Dim oInvoice As CAPInvoice

  

  Set oInvoice = New CAPInvoice

  

  With oInvoice

      .Init FE_Application.SessionContext

      

      .Fields(APINVOICES_fld_AP7VENDORSID) = 1

      

      .Fields(APINVOICES_fld_REMITTO) = 1

      

      .Fields(APINVOICES_fld_POSTDATE) = Date

      .Fields(APINVOICES_fld_DESCRIPTION) = "Bubble Gum"

      

      .Fields(APINVOICES_fld_PAYMENTMETHOD) = "Check"

      

      .Fields(APINVOICES_fld_INVOICEAMOUNT) = "$1.00"

      .Fields(APINVOICES_fld_INVOICENUMBER) = 1231232

      .Fields(APINVOICES_fld_INVOICEDATE) = "12/1/2003"

      

      With .Distribution.Add

         .Fields(BBDISTRIBUTIONS_fld_DEBITACCTNUM) = "01-1000-00"

         .Fields(BBDISTRIBUTIONS_fld_CREDITACCTNUM) = "01-2000-00"

         .Fields(BBDISTRIBUTIONS_fld_AMOUNT) = "1"

        

      End With

      

      .ApplyVendorDefaults False

     'Apply a credit memo

      With .CreditMemoApplications.Add

           'You must tell the system which Credit memo to use

           .Fields(APCREDITMEMOAPPLICATIONS_fld_AP7CREDITMEMOSID) = 2

           .Fields(APCREDITMEMOAPPLICATIONS_fld_APPLICATIONAMOUNT) = "1.00"

      End With

      .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.