Simple php / MySQL web based database integrating with BrightPearl CRM RESTful API

IN PROGRESS
Bids
7
Avg Bid (USD)
$475
Project Budget (USD)
$30 - $250

Project Description:
We have a client who uses Brightpearl as their CRM and accounts package. (http://www.brightpearl.com/). They use it to manage their customers, and all their invoices.

Brightpearl does not have a facility to send automatic invoices on a regular basis. Our client needs to be able to automatically send invoices to clients on a monthly, quarterly or yearly basis.

We would like to build:-
1) A web based database to log a list of automated invoices that need to be created
2) A script which will use the BrightPearl API (http://www.brightpearl.com/developer/latest/) to create and send the invoices based on information in the web based database we build

So we would like to build a solution based on the following spec:-

Web based database (php / mySQL)
============================

Here is an example of the database structure:-

tblAutomatedInvoices
- nAutomatedInvoice_ID - primary key
- nClientID (the client ID in BrightPearl)
- sClientName (the name of the client - taken from Brightpearl)
- sDescription (description of the project being invoiced for)
- sFrequency (monthly, quarterly, six monthly or yearly)
- nAmount (the amount to invoice the customer)
- sCurrency (the 3 digit currency code - eg USD, GBP, EUR etc)
- nNextInvoiceDate (the date of the next invoice - date in YYYYMMDD format)
- nLastInvoiceDate (date last invoice was sent - if applicable - date in YYYYMMDD format)
- bChargeVAT (bit field - charge vat - yes/no)
- sEmail (email address for invoice to be sent to)

tblAutomatedInvoiceLog
- nAutomatedInvoiceLog_ID (primary key)
- nAutomatedInvoice_ID (foreign key)
- nDate (date in YYYYMMDD format)
- sTime (time in HH:MM:SS format)
- sFrequency (from tblAutomatedInvoices)
- nAmount (from tblAutomatedInvoices)
- sCurrency (from tblAutomatedInvoices)
- bChargeVAT (from tblAutomatedInvoices)
- sEmail (from tblAutomatedInvoices)

The web based database will allow you to:-

1) Add records to tblAutomatedInvoices (with facility to select which customer from BrightPearl using API)
2) Edit records
3) Remove records
4) View a log of invoices created (from tblAutomatedInvoiceLog)


Python or php script
==================
This script can be written in either python or php. It will be scheduled as a cron job on a daily basis.

It will:-
1) Check tblAutomatedInvoices to see if there are any invoices that need to be created today (by finding records where nNextInvoiceDate is today)
2) For each matching record that is found it will:-

a) Use the BrightPearl API to create the invoice
b) Download the invoice information and save in a PDF
c) Email the customer with the invoice
d) Insert a record in tblAutomatedInvoiceLog
e) Update nLastInvoiceDate in tblAutomatedInvoices to the current date
f) Update nNextInvoiceDate in tblAutomatedInvoices to the date when the next invoice should be sent

Skills required:
PHP, XML
Hire deepdesign2
Project posted by:
deepdesign2 United Kingdom
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the project creator or as one of the bidders to view bids.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.