Brightpearl API integration + php database - repost

CLOSED
Bids
22
Avg Bid (GBP)
£511
Project Budget (GBP)
£250 - £750

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:
MySQL, PHP, Software Architecture
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
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.


£ 630
in 7 days
£ 1000
in 8 days
Hire ithinksolutions
£ 600
in 7 days
£ 620
in 18 days
£ 600
in 8 days
Hire ashwanii
£ 400
in 5 days
£ 600
in 20 days
£ 510
in 22 days
£ 350
in 10 days
Hire softwarevamp
£ 650
in 30 days