I am using a third party CRM to generate my invoices and add new products. I then sync that information to QBO to create a corresponding invoice with the same products/services. Today, we use QB Payments to capture the payments. However, I don't want to use the QBO invoices, I'd rather use my CRM's invoices. I'm using API's to move the data between the systems.
Here's my problem: I need the URL that gets generated whenever I specify that an invoice should include ACH and CC payment options. I simply want to bypass the QBO invoice and go straight from CRM invoice to payment gateway through QB Payments. I need to get the URL from QB API's and insert it into my invoice. I'm not seeing anywhere int he documentation that allows this. How do I do this? What am I missing?
Solved! Go to Solution.
I can help you move data between the systems, hutch_illumination_labs.
Let me route you to the best support to assist you with this QuickBooks Online API concern.
While the QuickBooks Community can provide answers and troubleshooting solutions to specific questions, there are some things about which only our Intuit Developers can provide specific information about your concern.
We have a separate forum where you can interact with fellow developers, product experts, and engineers about software, QuickBooks API concerns, or developer license-related questions. That said, I encourage posting this question to our Intuit Developer Community. They have the tools and resources available to assist you with your concern.
Here's how:
Additionally, I’m adding this resource where you can access our self-help articles: QuickBooks Online guide. These resources contain topics that will guide you in efficiently handling your taxes, payroll, account information, banking tasks, sales or expenses related-activities, and so on.
Keep me posted if you need a hand with other QuickBooks-related concerns. I'll be around to provide further assistance.
I can help you move data between the systems, hutch_illumination_labs.
Let me route you to the best support to assist you with this QuickBooks Online API concern.
While the QuickBooks Community can provide answers and troubleshooting solutions to specific questions, there are some things about which only our Intuit Developers can provide specific information about your concern.
We have a separate forum where you can interact with fellow developers, product experts, and engineers about software, QuickBooks API concerns, or developer license-related questions. That said, I encourage posting this question to our Intuit Developer Community. They have the tools and resources available to assist you with your concern.
Here's how:
Additionally, I’m adding this resource where you can access our self-help articles: QuickBooks Online guide. These resources contain topics that will guide you in efficiently handling your taxes, payroll, account information, banking tasks, sales or expenses related-activities, and so on.
Keep me posted if you need a hand with other QuickBooks-related concerns. I'll be around to provide further assistance.
Did you ever find a solution for this? We're needing to do the same thing.
Yeah, I eventually figured it out. In short, I created a field in the invoice called Quickbooks_Invoice_URL that holds the URL. I then make a call out after the invoice is created where the parameter include=invoiceLink is in the URL. That will send you back a value under the invoice object called invoiceLink. Then add that field into your invoice template as an action and anytime any clicks your button in your template, they are taken to that link to pay the invoice.
Reach out to me if you get stuck, happy to help you continue to figure it out.
Perfect. Thanks so much. Exactly what I needed.
Perfect. Thanks so much. Exactly what I needed.
Thank you for your help.
I have some question on this
I am sending the POST request after creating the invoice as below
Endpoint=callout:QuickBook_Online3/v3/company/913034[removed]/invoice/41539?minorversion=65&include=invoiceLink, Method=POST
I am getting Response as 200 but within this response its showing error as
{"Fault":{"Error":[{"Message":"An application error has occurred while processing your request","Detail":"System Failure Error: java.lang.NullPointerException","code":"10000","element":"SystemFailureError"}],"type":"SystemFault"},"time":"2024-02-21T03:09:47.148-08:00"}
But what Request Body do we need to send in the POST Request, could you please help me with this, that would be great help.
Thanks again
Awaiting your reply.
Try a GET and not a POST
Thank you for your quick reply.
I tried sending GET request, it gives me 200 response but within response body it give me the same error message as shown below.
GET
[Endpoint=callout:QuickBook_Online3/v3/company/9130XXXXXXXXXXXX/invoice/41556?minorversion=65&include=invoiceLink, Method=GET]
Response
{"Fault":{"Error":[{"Message":"An application error has occurred while processing your request","Detail":"System Failure Error: java.lang.NullPointerException","code":"10000","element":"SystemFailureError"}],"type":"SystemFault"},"time":"2024-02-22T04:36:14.617-08:00"}
Also I would like to ask do we need to turn on the Accept Credit Cards in Account and Settings for this to work?
Thank you for your help.
This error was overcome by populating the Email address field on the Invoice and setting "Accept Credit Cards" to true. Once that was done, we were able to get the Payment Link.
You have clicked a link to a site outside of the QuickBooks or ProFile Communities. By clicking "Continue", you will leave the community and be taken to that site instead.
For more information visit our Security Center or to report suspicious websites you can contact us here