Custom Guided Wizard
Introduction
Breadwinner was designed to create Invoices from Accounts and Opportunities (and their Opportunity Products) and from Orders (and their Order Products), with no configuration required.
However, you may wish to create Invoices from other objects, perhaps an ISV App or your own custom objects. There is virtually no restriction on how you might approach this, other than that the Invoice must be linked to an Account (through either a formula or a lookup) and to the record from which the Invoice originates.
Restrictions
The ability to create an Invoice using the Custom Guided Wizard is currently restricted to Enterprise Edition and Business Edition with the Custom Object Add-On.
Due to Salesforce’s architecture, we cannot create Invoices from a Salesforce Lead record as the originating record.
A surprisingly common request is to populate fields that do not exist in QuickBooks. For obvious reasons, we cannot populate fields that don’t exist.
You cannot pull data from two or more fields into a single field on the accounting platform; this applies to both Invoice-level and Line Item-level fields. However, you may easily achieve this by using a Formula Field that concatenates those two fields. This is why we strongly recommend you pull data from Formula Fields (compared to user-populated fields). Formula Fields have the advantage of combining two or more fields, pulling data from parent records, or using logic to populate different information based on other fields.
Preparation
You will need to create a Lookup Field on the Breadwinner Invoice object to the object you want to create Invoices from. And, we strongly recommend you add the Invoices related list to that Object’s page layout.
The Originating Object will need either a direct Lookup to an Account (via a lookup or master/detail) or a Formula Field referencing the Salesforce Account under which you wish the Invoices to be created.
Please familiarize yourself with how Breadwinner normally creates Invoices out of the box in a traditional Opportunity/Opportunity Products scenario. The ERD for Breadwinner for QuickBooks is available in the "Technical Resources" section of our website.
Conventions in this Document
In the formulas below, the left side of the equation is our field, and the right side of the equation (after the = sign) is for you to populate based on the API names in your Salesforce org.
For instance, if you see
&parent_account=api_field_name__cThen your formula would include &parent_account=, but the api_field_name__c would be replaced by the API name of the field in your Salesforce org.
Ease-of-Use Tip
We have made a Custom Guided Wizard to help you create the QuickBooks records. To view this, simply create a button with the text below, quick-save it, add it to the Originating Object's "Invoice Related List" page layout, and click it.
This button should be created on the Invoice object (as a Button, not an Action or Link). We recommend naming the button something like “New QuickBooks Invoice from the [Something Object]”.
/apex/breadwinner_qbo__NewInvoicePage?testing=trueOnce created, the button should be displayed on the page layout of the Object in question (the one you wish to create Invoices from), and on the Invoices related list on that object (in the page layout for that object, click the wrench on the related list, and then click "Buttons" to change the buttons on the related list). This is also the time to remove the standard "New" button by unchecking it, as the standard "New" button won’t work on Custom Objects.
The Button URL Generator will give you the formula you need. However, you may wish to further modify the URL, or just understand it further.
Also, you can create multiple buttons per object, with different formulas to allow Invoices to be populated in different ways from different fields.
When creating formulas in Salesforce, you can create a formula over many lines, separated by a new line for readability.
Button on Invoices Related List
You can create a button on the Breadwinner Invoice object itself as a List Button (without multi-checkboxes). After creating it, you will need to display it on the related list of the Originating Object’s page layout. A long, descriptive name, such as “New Invoice from XXXX”
These buttons will be added to the Originating Object page layout by clicking the wrench/spanner icon on the Invoices related list.