gform_freshbooks_args_pre_create

gform_freshbooks_args_pre_create

DescriptionUsageParametersExamples1. Add tax2. Set the line itemsPlacementSource Code

Description
This filter can be used to modify the invoice or estimate object before it is sent to Freshbooks.
Usage
The filter which would run for all Freshbooks feeds can be used like so:
add_filter( 'gform_freshbooks_args_pre_create', 'your_function_name', 10, 4 );

Parameters

$args object
The Freshbooks invoice or estimate object containing the client details, line items, etc.
$args->clientId = '';
$args->number = '';
$args->amount = '';
$args->status = '';
$args->date = '';
$args->poNumber = '';
$args->discount = '';
$args->notes = '';
$args->terms = '';
$args->organization = '';
$args->firstName = '';
$args->lastName = '';
$args->pStreet1 = '';
$args->pStreet2 = '';
$args->pCity = '';
$args->pState = '';
$args->pCountry = '';
$args->pCode = '';
$args->lines = array(
array(
'name' => '',
'description' => '',
'unitCost' => '',
'quantity' => '',
'amount' => '',
),
);

$form Form Object
The Form which is currently being processed.

$entry Entry Object
The Entry which is currently being processed.

$feed Feed Object
The Feed which is currently being processed. Available from v2.2.3.

Examples
1. Add tax
The following example shows how you can add tax to the line items.
add_filter( 'gform_freshbooks_args_pre_create', function ( $args, $form, $entry ) {
$lines = $args->lines;
foreach ( $lines as &$line ) {
$line['tax1Name'] = 'VAT';
$line['tax1Percent'] = 20;
}
$args->lines = $lines;

return $args;
}, 10, 3 );

2. Set the line items
The following example shows how you can set the invoice line items, including how a value can be retrieved from a form field.
add_filter( 'gform_freshbooks_args_pre_create', function ( $args, $form, $entry ) {
$lines = array();

$name = 'The name';
$description = 'The description';
$unit_cost = 10.50;
$quantity = rgar( $entry, '5' ); // get the value from field 5
$amount = $unit_cost * $quantity;

$lines[] = array(
'name' => $name,
'description' => $description,
'unitCost' => $unit_cost,
'quantity' => $quantity,
'amount' => $amount,
);

$args->lines = $lines;

return $args;
}, 10, 3 );

Placement
Your code snippet should be placed in the functions.php file of your active theme.
Source Code
This filter is located in GFFreshBooks::export_feed() in class-gf-freshbooks.php.

發表回覆

您的郵箱地址不會被公開。 必填項已用 * 標註