Custom WHMCS Module development
- or -
Post a project like this3961
£40(approx. $50)
- Posted:
- Proposals: 1
- Remote
- #268628
- Completed
Description
Experience Level: Intermediate
We have started development of a whmcs "accounts" module which creates and stores account deductibles.
The whole point of this module is to allow admins to add exspences, then view reports about there profit/loss/etc.
the module development has got to about 60% done already, but with increased workload we are looking to get this outsourced to complete the project asap.
as it is the module creation (tables, etc) has been coded, and we also have created admin pages to manage suppliers, and types.
now we need the main add/edit form finishing.
this is the current table structure for the module:
$this->tbl = 'whmcs_accounts';
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`description` TEXT NOT NULL,
`client` TEXT NOT NULL,
`created` TEXT NOT NULL,
`due` TEXT NOT NULL,
`paid` TEXT NOT NULL,
`currency` TEXT NOT NULL,
`tax` TEXT NOT NULL,
`total` TEXT NOT NULL,
`status` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_lineitems` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`description` TEXT NOT NULL,
`type` TEXT NOT NULL,
`supplier` TEXT NOT NULL,
`amount` TEXT NOT NULL,
`tax` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_suppliers` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TEXT NOT NULL,
`description` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_types` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TEXT NOT NULL,
`description` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_files` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`path` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_transactions` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`transaction_rel` INT( 100 )
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_tickets` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`ticket_rel` INT( 100 )
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_invoices` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`invoice_rel` INT( 100 )
)");
as you can see we are looking to store for each account item:
desc = textarea
client = dropdown of clients (saves client id)
created = when it was created (unix timestamp)
due = datepicker converted to unix timestamp when saved
paid = textbox user can manully set, or changes based on linked transactions
currency = dropdown of possible currencies
tax = total tax
total = total
status = dropdown (paid,unpaid)
then there needs to be a section where the user can add "line items" just like creating an invoice.
these rows will contain:
description = textarea
type = dropdown of types created
supplier = dropdown of supplier created
amount and tax = text box. when saved should be totalled up to make the account item "total"
we also need to be able to "add transactions" to these, this will be a text area where the user can input a transaction id that is already added to the system, these will be saved in the '_transactions' table with the rel being the account item id, and the transrel being the transaction id. when a user adds a transaction it should automatically add this total to the total paid, and if makes the total paid the same as the total change the status to paid.
that is the main part of the add/edit page, but we also need to be able to associate files (manual uploaded files), tickets, and invoices to each account item.
these would need to be added just like the transactions section.
all sections where its possible to add more than one item we need to have an "add more" link, which opens another text box, or adds another file field, so it can add more than one at a time.
the module has been created as multiple "classes" and the basic wrapper for the add/edit page has already been created.
we just need the form "markup" section created, and the "proccess" section where you save the values and echo the saved message created.
The whole point of this module is to allow admins to add exspences, then view reports about there profit/loss/etc.
the module development has got to about 60% done already, but with increased workload we are looking to get this outsourced to complete the project asap.
as it is the module creation (tables, etc) has been coded, and we also have created admin pages to manage suppliers, and types.
now we need the main add/edit form finishing.
this is the current table structure for the module:
$this->tbl = 'whmcs_accounts';
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`description` TEXT NOT NULL,
`client` TEXT NOT NULL,
`created` TEXT NOT NULL,
`due` TEXT NOT NULL,
`paid` TEXT NOT NULL,
`currency` TEXT NOT NULL,
`tax` TEXT NOT NULL,
`total` TEXT NOT NULL,
`status` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_lineitems` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`description` TEXT NOT NULL,
`type` TEXT NOT NULL,
`supplier` TEXT NOT NULL,
`amount` TEXT NOT NULL,
`tax` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_suppliers` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TEXT NOT NULL,
`description` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_types` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TEXT NOT NULL,
`description` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_files` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`path` TEXT NOT NULL
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_transactions` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`transaction_rel` INT( 100 )
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_tickets` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`ticket_rel` INT( 100 )
)");
full_query("CREATE TABLE IF NOT EXISTS `".$this->tbl."_invoices` (
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`rel` INT( 100 ),
`invoice_rel` INT( 100 )
)");
as you can see we are looking to store for each account item:
desc = textarea
client = dropdown of clients (saves client id)
created = when it was created (unix timestamp)
due = datepicker converted to unix timestamp when saved
paid = textbox user can manully set, or changes based on linked transactions
currency = dropdown of possible currencies
tax = total tax
total = total
status = dropdown (paid,unpaid)
then there needs to be a section where the user can add "line items" just like creating an invoice.
these rows will contain:
description = textarea
type = dropdown of types created
supplier = dropdown of supplier created
amount and tax = text box. when saved should be totalled up to make the account item "total"
we also need to be able to "add transactions" to these, this will be a text area where the user can input a transaction id that is already added to the system, these will be saved in the '_transactions' table with the rel being the account item id, and the transrel being the transaction id. when a user adds a transaction it should automatically add this total to the total paid, and if makes the total paid the same as the total change the status to paid.
that is the main part of the add/edit page, but we also need to be able to associate files (manual uploaded files), tickets, and invoices to each account item.
these would need to be added just like the transactions section.
all sections where its possible to add more than one item we need to have an "add more" link, which opens another text box, or adds another file field, so it can add more than one at a time.
the module has been created as multiple "classes" and the basic wrapper for the add/edit page has already been created.
we just need the form "markup" section created, and the "proccess" section where you save the values and echo the saved message created.
Lee M.
100% (9)Projects Completed
7
Freelancers worked with
2
Projects awarded
78%
Last project
23 Jul 2013
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies