Using the QBFC SDK, I cant seem to locate anything in the OSR that would give me the amount due on an invoice, as the Quickbooks UI keeps track of it.
The Invoice object in QBFC does not have any applied payment(s) details, not can I find reference to manually inspecting payments. Am I perhaps overlooking something?
There's a BalanceRemaining field which gives you what you're looking for.
...
<AppliedAmount >AMTTYPE</AppliedAmount>
<BalanceRemaining >AMTTYPE</BalanceRemaining>
...
Code should look something like this:
if (InvoiceRet.BalanceRemaining != null)
{
double BalanceRemaining71 = (double)InvoiceRet.BalanceRemaining.GetValue();
}
Related
I have an IOS app built with Xamarin and Parse.
I'm having problem when I make any change in the user (ParseUser) and try to get the information afterwards like:
ParseUser parseUser = ParseUser.CurrentUser;
IList<ParseObject> sports = parseUser.Get<IList<ParseObject>>("sports");
Here, sports is showing null, but it shouldn't, since there is data on column "sports" for this user when the code reaches this line.
It seems to me that CurrentUser is not being updated after I call
await user.SaveAsync();
If that's the case, how can I fix this?
Thank you,
Sergio
Ok, it seems to be a bug with Parse.
I contacted their staff and they will take a look at it.
While waiting for them to solve I have found a workaround, that is not really elegant, but it is working for me.
Basically, what I'm doing is to call LogInAsync() again, so this way, I force it to bring the latest information from the database.
ParseUser parseUser = await ParseUser.LogInAsync(user.Username, user.Password);
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
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.
I think this has been asked before, but I'm going to give it another shot in the hope of getting a useful answer.
Using the DevKit and C# (not XML) how can I look up a customer by name? In the SDK it was a no-brainer to look up a customer by FullName, but now I can't find any way to do it. It defies common sense that the DevKit wouldn't provide a way to do this.
Please don't reply with links to documentation that doesn't have the answer (I've read it several times), or XML that doesn't work. I'd love to see C# code that does this (heck, I'll even settle for VB), but if it can't be done, please just tell me so I can end this and get some rest.
var qbdCustomerQuery1 = new Intuit.Ipp.Data.Qbd.CustomerQuery();
qbdCustomerQuery1.Item1ElementName = Intuit.Ipp.Data.Qbd.Item1ChoiceType.FirstLastInside; qbdCustomerQuery1.Item1 = "Popeye";
List CustomerQueryResult = qbdCustomerQuery1.ExecuteQuery(context).ToList();
This should work.
We will try to improve the docs for such queries.
Can you give it a try
ServiceContext context = new ServiceContext(oauthValidator, appToken, realmId, IntuitServicesType.QBD)
CustomerQuery customerQuery = new CustomerQuery();
customerQuery.FirstLastName ="?"
IEnumerable<Customer> customers = customerQuery.ExecuteQuery<Customer>(context);
Ref - https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0100_ipp_.net_devkit/query_filters/quickbooks_desktop
In the client side, you can loop through 'customers' and use an if condition for only customer's name.
Thanks
I have been trying to user sharepoint designer to retrieve the user's full name and even the domain\username from the people pucker field but the problem is I tend to get numbers. It looks like the intetrnal Id. In my case I am getting 14 instead of domain\username from the list form's field.
Any idea on where I can get the dmain\username or even better the full name?
Thanks !!
I am using SharePoint Designer and Windows Sharepoint Services 3/SharePoint 2007.
Update :
I have managed to get the domain\username now. I just had to change the people picker's show field to ID. However now I am getting a weird prefix on my domain\username. I am getting this -1;#domain\username instead of just domain\username. Anybody know how I can overcome this?
Thanks !!
I don't know how to avoid getting the information in that format, but I know how to get rid of the "1;#" part.
Assuming the variable "theName" contains "1;#domain\username", then you can do:
Dim poundSignIndex As Integer = theName.IndexOf("#") + 1
theName = theName.Substring(poundSignIndex)
That will remove everything before the "domain\username" part of the string.
Leon.