MySQL to QuickBooks Online Invoice Sync
Budget: $250 – $750 USD
PLEASE DO NOT ASK "WHAT IS YOUR BUDGET". YOUR BID AMOUNT SHOULD BE THE AMOUNT YOU INTEND TO DO THE WORK FOR. PLEASE READ THE PROJECT DESCRIPTION COMPLETLEY BEFORE BIDDING
SUMMARY: Update a field on a Quickbooks purchase order when a specific value is entered in a MySQL table.
MORE DETAIL: We have a MySQL table that stores order information. We would like a value from ths table to sync to a related QuickBooks record on 24 hour intervals (or by manual user action). The script should be written in PHP and use the QuickBooks Online API for processing.
In MySQL table "orders", we have two fields storing the following values:
1. PO Number (Column Name = "premier_po_number") - This will be the same number of a PO stored in QuickBooks Online.
2. Customer Invoice Number (Column Name = "customer_invoice_number") - This will be the same number of an Invoice stored in QuickBooks Online.
The script should do the following:
1. Search the "orders" table for records where both "premier_po_number" and "customer_invoice_number" contain values
2. If both values are populated, write the value of "premier_po_number" to the QuickBooks Online Invoice that matches the "customer_invoice_number" value. Each Quickbooks Invoice has a custom field to store this value.
RULES:
1. The process can be made to run manually (user action by clicking a button for example) or via cron every 24 hours... whichever is easier to develop
2. The process should skip values where a "premier_po_number" value has already been written to the matching QuickBooks invoice, unless the value has changed. Modified values should be updated on the matched invoice
3. If a value in "premier_po_number" contains something other than a single numberic (Ex: 45996) or concurrent numeric/text string (Ex: 45996-PR) the record should be ignored. For example, a numberic/text value with spaces such as "45996 PR" would be ignored. However, the value "45996-PR" would be valid because it doesn't contain a space.
4. The script should be written in PHP
5. To avoid high overhead, the script should only loop through records in the "orders" table that have a date stamp (Column = "order_date") occuring in the last 90 days
6. We will provide access to our devloper account in QuickBooks Online
SUMMARY: Update a field on a Quickbooks purchase order when a specific value is entered in a MySQL table.
MORE DETAIL: We have a MySQL table that stores order information. We would like a value from ths table to sync to a related QuickBooks record on 24 hour intervals (or by manual user action). The script should be written in PHP and use the QuickBooks Online API for processing.
In MySQL table "orders", we have two fields storing the following values:
1. PO Number (Column Name = "premier_po_number") - This will be the same number of a PO stored in QuickBooks Online.
2. Customer Invoice Number (Column Name = "customer_invoice_number") - This will be the same number of an Invoice stored in QuickBooks Online.
The script should do the following:
1. Search the "orders" table for records where both "premier_po_number" and "customer_invoice_number" contain values
2. If both values are populated, write the value of "premier_po_number" to the QuickBooks Online Invoice that matches the "customer_invoice_number" value. Each Quickbooks Invoice has a custom field to store this value.
RULES:
1. The process can be made to run manually (user action by clicking a button for example) or via cron every 24 hours... whichever is easier to develop
2. The process should skip values where a "premier_po_number" value has already been written to the matching QuickBooks invoice, unless the value has changed. Modified values should be updated on the matched invoice
3. If a value in "premier_po_number" contains something other than a single numberic (Ex: 45996) or concurrent numeric/text string (Ex: 45996-PR) the record should be ignored. For example, a numberic/text value with spaces such as "45996 PR" would be ignored. However, the value "45996-PR" would be valid because it doesn't contain a space.
4. The script should be written in PHP
5. To avoid high overhead, the script should only loop through records in the "orders" table that have a date stamp (Column = "order_date") occuring in the last 90 days
6. We will provide access to our devloper account in QuickBooks Online