Global API
Code Examples
Create and Send Invoice
1min
the global api allows you to send an invoice after it has been created in quickbooks to do this, you need to add two additional parameters set "sendinvoice" to true and include the recipient's email address in the "billemail" field request // create a map to store all the data of a invoice map\<string, object> invoicemap = new map\<string, object>(); invoicemap put('txndate', '2021/08/11'); invoicemap put('duedate', '2021/09/11'); invoicemap put('docnumber', 'inv 1201'); invoicemap put('exchangerate', 1 0); / add this to send the invoice after creation / invoicemap put('sendinvoice', true); invoicemap put('address',new map\<string, object>{'freeformnumber' => '+919090909090'}); invoicemap put('salestermref',new map\<string, object>{'value' => '4'}); invoicemap put('customerref',new map\<string, object>{'value' => '29'}); // initialize the billing address map\<string, object> billaddrmap = new map\<string, object>(); billaddrmap put('city' , 'suryapet'); billaddrmap put('country' , 'india'); billaddrmap put('line3' , 'kodad'); billaddrmap put('line2' , 'first lane'); billaddrmap put('line1' , '1 24'); billaddrmap put('postalcode' , '508238'); billaddrmap put('countrysubdivisioncode' , ''); invoicemap put('billaddr',billaddrmap); // initialize the email address / this is required if you want to send the invoice after creation / map\<string, object> billemail = new map\<string, object>(); billemail put('address','abc\@abc com'); invoicemap put('billemail',billemail); // initialize the invoice line items list\<object> lineitemlist = new list\<object>(); map\<string, object> lineitemmap = new map\<string, object>(); lineitemmap put('linenum',1); lineitemmap put('amount',100); lineitemmap put('description','description'); lineitemmap put('detailtype', 'salesitemlinedetail'); map\<string, object> saleslineitemdetailmap = new map\<string, object>(); saleslineitemdetailmap put('itemref' , new map\<string, object>{'value' => '1'}); saleslineitemdetailmap put('taxcoderef' , new map\<string, object>{'value' => 'tax'}); saleslineitemdetailmap put('classref' , new map\<string, object>{'value' => '5000000000000193289'}); saleslineitemdetailmap put('servicedate','1993/05/25'); //yyyy/mm/dd saleslineitemdetailmap put('qty',2); saleslineitemdetailmap put('unitprice',50); saleslineitemdetailmap put('taxinclusiveamt',22); lineitemmap put('salesitemlinedetail', saleslineitemdetailmap); lineitemlist add(lineitemmap); list\<object> invoicelist = new list\<object>(); // add the line items to invoice invoicemap put('line',lineitemlist); invoicelist add(invoicemap); // initializing the requestjson data to be passed map\<string, object> reqjsonmap = new map\<string, object>(); reqjsonmap put('invoices' , invoicelist); string reqjson = json serialize(reqjsonmap); map\<string, object> finalreqmap = new map\<string, object>(); finalreqmap put('version' , '1 0'); finalreqmap put('action' , 'createinvoice'); finalreqmap put('requestjson' , reqjson); finalreqmap put('skipdml' , false); //required, if quickbooks multi org is enabled in breadwinner finalreqmap put('qborgid', '4620816365285051610'); system debug('request ' + finalreqmap); // place the request to breadwinner global api map\<string, object> respmap = breadwinner qbo breadwinnerqbapi call(finalreqmap); system debug('response ' + respmap); response { action=createinvoice, responsejson={ "statuscode" 200, "invoices" \[ { "txntaxdetail" { "totaltax" 0 }, "txndate" "2021 08 11", "totalamt" 110 00, "synctoken" "0", "sparse" false, "sfrecordid" "a0a1m000004oi1qeag", "salestermref" { "value" "4", "name" "net 60" }, "salesforcerecordid" "a0a1m000004oi1qeag", "metadata" { "lastupdatedtime" "2023 12 12t04 47 11 08 00", "createtime" "2023 12 12t04 47 11 08 00" }, "line" \[ { "salesitemlinedetail" { "unitprice" 50, "taxcoderef" { "value" "tax" }, "servicedate" "1993 05 25", "qty" 2, "itemref" { "value" "1", "name" "services" } }, "linenum" 1, "id" "1", "detailtype" "salesitemlinedetail", "description" "description", "amount" 100 00 }, { "detailtype" "subtotallinedetail", "amount" 100 00 }, { "salesitemlinedetail" { "itemref" { "value" "shipping item id" } }, "detailtype" "salesitemlinedetail", "amount" 10 00 } ], "invoicelink" "https //developer intuit com/comingsoonview/scs v1 dd2019771bcb4d49b35e5f007aea22652130e4cc705c42a587606982186190aab5813d68c9c24032a6f0fac960274c55?locale=en us\&cta=v3invoicelink", "id" "853", "emailstatus" "emailsent", "duedate" "2021 09 11", "docnumber" "inv 1201", "customfield" \[ { "type" "stringtype", "name" "crew #", "definitionid" "1" }, { "type" "stringtype", "name" "custom field 2", "definitionid" "2" } ], "customerref" { "value" "87", "name" "cool cars2" }, "currencyref" { "value" "usd", "name" "united states dollar" }, "billemail" { "address" "sameera\@breadwinner com" }, "billaddr" { "postalcode" "508238", "line3" "kodad", "line2" "first lane", "line1" "1 24", "id" "1159", "country" "india", "city" "suryapet" }, "balance" 110 00, "allowonlinecreditcardpayment" false, "allowonlineachpayment" false } ] }, timestamp=1702385235117, validrequest=true, version=1 0 } do you want to know the list of supported parameters for create and send invoice? see invoice docid\ gee1fj42amxfapeumyyqi