Global API
Code Examples
Applying Payment to an Invoice
1min
with the global api, you can create a payment and have that payment link to one or more invoices this is similar to the create docid 9yy4t65iztadqbqklkgmd but @create additional "line" and "linkedtxn" parameters request // create a map to store all the data of a payment map\<string, object> paymentmap = new map\<string, object>(); paymentmap put('totalamt','20'); paymentmap put('displayname','breadwinner inc'); paymentmap put('customerref' , new map\<string, object>{'value' => '70'}); // link first invoice to a payment map\<string,object> linemap = new map\<string, object>(); linemap put('amount','10'); map\<string,object> linkedtxnmap = new map\<string, object>(); linkedtxnmap put('txnid','233'); linkedtxnmap put('txntype','invoice'); list\<object> linkedtxnlist = new list\<object>(); linkedtxnlist add(linkedtxnmap); linemap put('linkedtxn',linkedtxnlist); // link second invoice to a payment map\<string,object> paymentlinemap = new map\<string, object>(); paymentlinemap put('amount','10'); map\<string,object> paymentlinkedtxnmap = new map\<string, object>(); paymentlinkedtxnmap put('txnid','234'); paymentlinkedtxnmap put('txntype','invoice'); list\<object> paymentlinkedtxnlist = new list\<object>(); paymentlinkedtxnlist add(paymentlinkedtxnmap); paymentlinemap put('linkedtxn',paymentlinkedtxnlist); list\<object> linelist = new list\<object>(); linelist add(linemap); linelist add(paymentlinemap); paymentmap put('line' ,linelist); // initializing the requestjson data to be passed map\<string, object> requestjsonmap = new map\<string, object>(); requestjsonmap put('payments', new list\<object>{paymentmap}); string reqjson = json serialize(requestjsonmap); map\<string, object> reqobj = new map\<string, object>(); reqobj put('version', '1 0'); reqobj put('action', 'createpayment'); reqobj put('requestjson', reqjson); //required, if quickbooks multi org is enabled in breadwinner //reqobj put('qborgid', '4620816365285051610'); system debug(reqjson); // placing a request to breadwinner global api map\<string, object> respmap = breadwinner qbo breadwinnerqbapi call(reqobj); system debug(respmap); response { action=createpayment, responsejson={ "statuscode" 200, "payments" \[ { "unappliedamt" 0, "txndate" "2023 12 11", "totalamt" 20, "synctoken" "0", "sparse" false, "metadata" { "lastupdatedtime" "2023 12 11t02 44 44 08 00", "createtime" "2023 12 11t02 44 44 08 00" }, "line" \[ { "linkedtxn" \[ { "txntype" "invoice", "txnid" "233" } ], "amount" 10 }, { "linkedtxn" \[ { "txntype" "invoice", "txnid" "234" } ], "amount" 10 } ], "id" "238", "deposittoaccountref" { "value" "4" }, "customerref" { "value" "70", "name" "link two inv to payment" }, "currencyref" { "value" "usd", "name" "united states dollar" } } ] }, timestamp=1661164863899, validrequest=true, version=1 0 } do you want to know the list of supported parameters for a payment? see payment docid\ asrn2gzjqlqi 5jexdwaa