Quickbooks desktop web connector, invoice CLASS is empty - quickbooks

I've been using QuickBooks Enterprise, Web connector ver: 2.1.0.30 and the framework found here: https://github.com/consolibyte/quickbooks-php for adding invoices and jobs. It is working fine but I can't get the CLASS of the invoice to be shown in quickbooks. I pass it correctly in my xml (I get no error and the invoice gets added), as described in accepted answer here: quickbooks desktop web connector qbxml: add invoice with CLASS field but it doesn't show in quickbooks. Here is the part of my xml:
...<InvoiceLineAdd>
<ItemRef>
<FullName>item name</FullName>
</ItemRef>
<Desc>item description</Desc>
<Quantity>2</Quantity>
<Rate>123</Rate>
<ClassRef>
<FullName>class name</FullName>
</ClassRef>
</InvoiceLineAdd>...
When I edit the invoice in quickbooks it has no CLASS selected and CLASS field is empty, I can't post screen-shot, the CLASS field appears as a dropdown right next to CUSTOMER JOB field when editing the invoice.
So is there anything else I should do for the class to show up?
Thanks in advance.

You are adding Class to the invoice line. If you want it at the invoice level, you need to use the ClassRef in the invoice and not on the line.

Related

quickbooks desktop sdk retrieve line item detail

I want to retrieve QuickBooks detail record. For example, estimatelinedetail, estimatelinegroupdetail,journalentryline, salesorderlinedetail
,salesorderlinegroupdetail etc.
You can mention the tag <IncludeLineItems>true</IncludeLineItems> so as to return the line items in a transaction.
thanks,
Rajesh Iyer

InvoiceAddGroup QuickBooks SDK Incorrect Price

I wrote a program that downloads orders from a website and creates invoices using the SDK.
A few products are listed as Groups in QuickBooks, so when adding them to the invoice, I can't list the price.
If IList.Item(x).Type = 2 Then
Dim ORInvoiceLineAddListElement2 As IORInvoiceLineAdd
ORInvoiceLineAddListElement2 = newInvoice.ORInvoiceLineAddList.Append()
ORInvoiceLineAddListElement2.InvoiceLineGroupAdd.ItemGroupRef.FullName.SetValue(IList.Item(x).FullName)
ORInvoiceLineAddListElement2.InvoiceLineGroupAdd.Quantity.SetValue(IList.Item(x).Quantity)
'ORInvoiceLineAddListElement2.InvoiceLineGroupAdd.Desc.SetValue(IList.Item(x).DESC)
End If
This will input into QuickBooks just fine, however, the price will be based on a retail customer, even if the customer class is set to wholesale. I know that the customer class is correct because everything else shows up correctly in the generated invoice.
Any suggestions on what i could try to get this group item priced correctly?
Thanks for your help!!!
QuickBooks Class codes have nothing at all to do with pricing. They have no effect what-so-ever on pricing in any form or manner.
What makes you think setting the Class should change pricing in any way?
I was having the same issue. what is happening is the Group line items are being assigned the Default Price from the Items table. shouldn't have anything to do with the Class. I did find the following support answer which seems to apply to both Desktop and Online versions of QuickBooks:
"The SDK does not currently support adjusting the price of group items when adding an invoice, even though the default UI in QuickBooks allows this. You can modify an invoice and change the line item amounts, so you would need to first call create the add, read the response to get the transaction id and edit sequence, then do an Invoice Mod request on the invoice to set the rates that you want."
Intuit Developer Page

QBSDK Add Customer Job

How do you add a job to an existing customer. I have tried both CustomerAddRq and CustomerModRq and neither works. My client wants to create a new job for each customer contract and track invoices and bills by job.
Would appreciate some help.
To add a job, you call CustomerAdd and specify the ParentRef of the parent customer.
For example:
<CustomerAddRq>
<CustomerAdd>
<Name>Child Customer Name</Name>
<ParentRef>
<FullName>Parent Customer Name</FullName>
</ParentRef>
<FirstName>Keith</FirstName>
<LastName>Palmer</LastName>
<Phone>860-634-1602</Phone>
<Email>support#consolibyte.com</Email>
</CustomerAdd>
</CustomerAddRq>
Here's a few additional examples:
qbXML for adding a job
other qbXML examples

How to update "TrackingNumber" field in QuickBook invoice?

I want update "TrackingNumber" field value in Invoice related request query. So which request query i used for updating "TrackingNumber"?
I checked in "InvoiceModRq" request but there is not declare any field with the name of "TrackingNumber".
Thanks,
QuickBooks does not support updating this field programatically yet.

QBSDK linking invoice to estimate

I am using the QBSDK QBFC12Lib in C#.Net with Reckon Accounts 2013 (Quickbooks Australia/NZ version). It is a test version but has been activated.
I have the basics working. I can add a customer, job, estimate and invoice and run queries against them.
But I can't link an invoice to an estimate (to keep track of progress invoicing). If I try to add the estimate TxnID as a LinkToTxnID, when I submit the request I get the error message 3210 - Object "25-1376628895" specified in the request cannot be found.
I have verified that EstimateID is providing the correct TxnID for the estimate (25-1376628895). It was selected by querying the estimate anyway and if I add an invoice to the estimate manually using Quickbooks itself and then query that invoice using the SDK it gives me the same TxnID under linked transactions.
These are the relevant lines of code:
IInvoiceAdd invoiceAdd = requestMsgSet.AppendInvoiceAddRq();
invoiceAdd.LinkToTxnIDList.Add(EstimateID);
Is it possible to link an invoice to an estimate using the SDK? And if so, am I doing something wrong?
It doesn't appear that this is supported in the SDK. The programmer's guide only gives information on how to link an invoice to a sales order. Since the LinkToTxnIDList does not give an option for what type of transaction type it is, I would guess that it is only looking for SalesOrders when supplying the ID. I also tested linking by specifying the individual line item ID and still get the same error.
Perhaps as a workaround, you could create a SalesOrder from the Estimate (assuming that you can link them), and then create an invoice from the SalesOrder.

Resources