Excluding specific Lines / Records from the Child Object
You may need to pass only a subset of child object records to the Invoice, with other lines ignored.
Breadwinner achieves this by allowing you to specify a checkbox field. If you specify this checkbox field, only checked records will be passed to the Invoice, and unchecked records will not be passed.
This checkbox field can either be a formula field of type Checkbox, or a regular Checkbox (which can be populated manually or via Apex / Workflow).
If you want to pass unchecked records and exclude checked records, then just create a second checkbox that is the reverse of the first one, and pass the second checkbox to Breadwinner.
Please note that Breadwinner allows multiple Custom URL Buttons on a single object. So you might have 2, 3, or many more buttons to choose from. And, you might have multiple checkbox fields that are used with different buttons.
An Example Real World Scenario
A typical scenario for this would be with recurring services combined with one-off services on an Opportunity or Custom Object. In this scenario, the first invoice to the customer would have all child records billed (including the one-off professional services) and additional invoices would only have the recurring records billed (such as a monthly subscription).
To achieve this example, the first Custom URL Button would not specify Partial Line Items, and thus all child records would be on the Invoice. A second Custom URL Button would specify the checkbox field.
When the first Invoice was created (which includes all line items) a button that does not use the Partial Line Item query string would be used. Then, for additional invoices, a second button that does use the Partial Line Item query string would be used.
The Query String is below: