WE ARE JP TECHNOLOGIES
QuickBooks Integration
QuickBooks Integration
- Every 10 minutes (timeframe is customizable) the QuickBooks Web Connector contacts PHP Integration Application using a SOAP request and asks "Do you have any data to add?"
- PHP Integration application sends a request to the Ecommerce application asking for transitions to sync. This should use HTTPS (TLS 2.0).
- The Ecommerce software replies with a customized XML over HTTPS containing any new transactions to sync.
- The PHP Integration application takes the new data and formats it in a way that the QB web connector can work with, and passes it along to the QB web connector.
- The QB web connector executes the transactions on the Company File where they can be viewed in QuickBooks. This operation can take place while QuickBooks is being used by the end user (no need for single-user mode or any special considerations).
- The results of the sync (including any error messages) are reported in the QB web connector GUI, and passed to the PHP Integration application, where they can potentially be stored in the Ecommerce application.
Get a list of tickets to invoice
function tracker_queue_invoices($requestID, $user, $hook, &$err, $hook_data, $callback_config)
{
$ids_to_queue_json =
file_get_contents($GLOBALS['tracker']['baseurl'].'billing/invoices?user_login='.$GLOBALS['tracker']['username'].'
&user_password='.$GLOBALS['tracker']['password']);
$ids_to_queue_a = json_decode($ids_to_queue_json);
$dsn = 'mysqli://'.$GLOBALS['database']['username'].':'.$GLOBALS['database']['password'].'@'.$GLOBALS['database']['host'] .'/'.$GLOBALS['database']['database'];
$Queue = new QuickBooks_WebConnector_Queue($dsn);
foreach($ids_to_queue_a as $id) {
$Queue->enqueue(QUICKBOOKS_ADD_INVOICE, $id, 0, null, $GLOBALS['quickbooks']['username']);
}
}