---
title: Button URL Structure
slug: quickbooks/button-url-structure
description: Learn how to create an invoice in Salesforce with a detailed guide on constructing a Button URL. This document explains the three required lines, including the starting line, originating record, and associated Salesforce account. It also outlines the prop
docTags: 
createdAt: 2021-11-05T07:13:34.000Z
---

The Button URL will always start with a specific line, and contain at a minimum two elements, specifying the originating record, and the associated Salesforce Account. These three lines are required for every invoice created using the Custom Guided Wizard. It is not necessary to add <font color="#2166ae">*naX.salesforce.com*</font> or anything similar; the button can simply start with **/apex/…**.

:::CodeblockTabs
Button URL

```css
/apex/breadwinner_qbo__NewInvoicePage
?originating_record={!salesforce_record_ID} 
&parent_account=api_field_name__c
```
:::

Please note that the only field that should contain a Salesforce ID is the originating record field. Additionally, this is the only field that will contain brackets, \{}. All other fields will contain the field's API name, *without&#x20;*&#x62;rackets. The API name is easiest copied from the Salesforce Setup page, showing all the fields on the originating object.

## Testing

When building the URL, we recommend using *\&testing=true* to access our testing page. You can temporarily build this into the URL formula or append it to the URL after you click on the New Invoice Button. This testing page will display the API names you were passed and the corresponding values that Breadwinner retrieved based on those names. It acts as a confirmation page and is visible only when testing is set to true.&#x20;

:::CodeblockTabs
Button URL

```css
/apex/breadwinner_qbo__NewInvoicePage
?originating_record={!salesforce_record_ID} 
&parent_account=api_field_name__c
&testing=true
```
:::

Once you have reviewed and feel confident, you may remove \&testing=true from the Button URL.

