Search code examples
intuit-partner-platformqbxml

Mapping payments in IIF to QBXML


For having deprecated IIF, you'd think Intuit would make it easier to map the calls but I've found myself in something of a corner.

I have a fairly old script mapping our stuff to IIF.

!TRNS   TRNSTYPE    DATE    ACCNT   NAME    AMOUNT  DOCNUM  MEMO    CLEAR   REP PAYMETH ADDR1   ADDR2   ADDR3   ADDR4
!SPL    TRNSTYPE    DATE    ACCNT   NAME    AMOUNT  DOCNUM  MEMO    CLEAR   QNTY    PRICE   INVITEM PAYMETH EXTRA   
!ENDTRNS
TRNS    PAYMENT 1/21/2010   Paypal Account  Dear Customer   1230.9      PAYPAL - Invoice123 N       PAYPAL  Dear Customer   123 Dear Dr
SPL PAYMENT 1/21/2010   Accounts Receivable Dear Customer   -1230.9 Invoice123  PAYPAL - Invoice123 N               PAYPAL
ENDTRNS                                             
TRNS    CHECK   1/21/2010   Paypal Account  Paypal Account  -29.84      Transaction Fees - Invoice123   N               
SPL CHECK   1/21/2010   Fees:Paypal Fees    Dear Customer   29.84       Transaction Fees - Invoice123   N               
ENDTRNS 

Now, I have a script that handles the customer and finding the right record in QB but I'm trying to find the right call to put all these records in. It looks like the first two can fit into ReceivePaymentAddRq but it's less clear on the second set.

Then I have another set that starts with BILL

TRNS    BILL    5/15/2014   Accounts Payable    Our Vendor  -344.81 450608      N   6/14/2014   Net 30
SPL BILL    5/15/2014   Cost of Goods Sold:Purchases    Dear Customer   344.81  450608  Invoice123  N       
ENDTRNS

I think both fall under BillAdd but that COGS line could also fall under ChargeAdd


Solution

  • The transaction type PAYMENT would indeed be a ReceivePaymentAddRq. The CHECK type would be a CheckAddRq as you are not effecting an Accounts Receivable account. The transaction type of BILL would be a BillAddRq, as you are wanting to effect Accounts Payable. The ChargeAddRq is used for a customer charge, which is not the same as a CreditCardChargeAddRq.

    It helps to have used QuickBooks manually a bit to understand the types of transactions that are used, but here's a quick little reference (these include the AddRq, QueryRq and ModRq where applicable). Note that this is not 100% as there are situations where you might use a different transaction type, but it's a good starting point:

    Effect Accounts Receivable:

    • Invoice
    • ReceivePayment
    • Charge
    • CreditMemo

    Effect Accounts Payable:

    • Bill
    • ItemReceipt
    • VendorCredit
    • BillPaymentCheck
    • BillPaymentCreditCard

    Effect Bank Account:

    • Check
    • Deposit

    Effect Credit Card Account:

    • CreditCardCharge
    • CreditCardCredit