This application have two functions to do.
QuickBooks accounting software does not allow users to customize checks & Receive Payments & Journals for printing on normal printer. So I need this application to read checks & Receive Payments & Journals data from QuickBooks and move it to my application in order to allow me to print them after making my own customization for style and design. And I can save templates for later use.
And for checks, I also need to print them in Arabic. Since QuickBooks does not allow me to record names in Arabic, so all names in QuickBooks should be copied to the application for translation.
So when I record any name into QuickBooks, and then log into my application, it should ask me to enter the proper translation for those names. I can put the translations immediately or to skip and enter it later.
So when I want to print checks from the application, I have the option to print it in Arabic or the original language.
Printed checks should be marked as printed to avoid printing them again by mistake. But I have the right to reprint the check again.
In QuickBooks, checks only have one date, which is the transaction date.
Since QuickBooks does not track PDC & CUC checks, I need to track them in my application. So when I recorded any checks into QuickBooks as a PDC or CUC, I need to track them in my application till they cashed.
PDC: Post-Dated-Checks, checks that I write and gave to other people (names). But they shall not cash it immediately, instead, they should cash it in a future date. So this checks should have two dates (Transaction Date, and Due Date). And those type of checks does not recorded on normal bank account in QuickBooks, instead, they recorded on a subaccount called PDC or so.
CUC: Checks-Under-Collection, checks that I received from other people (names). But I cannot cash it immediately, instead, I have to cash it in a future date. So this checks should have two dates (Transaction Date, and Due Date). And these type of checks does not recorded on normal bank account in QuickBooks, instead, they recorded on a subaccount called CUC or so.
Note: Checks under collection can be recorded in QuickBooks as a Receive Payment or as a Deposit.
I can see CUC and PDC in separate tables, and can search, filter for certain checks.
This subaccount should be connected with my application, so all checks recorded on this account shall be moved to the software for tracking.
When a certain check cashed, I can select it and mark it as chased, so a Journal Entry will automatically made by the system to move the money from the subaccount to the normal parent bank account. With correct cashing date.
I can change the name of this account or its level anytime, so no problem should be happened.
I am an accountant, and want to provide this app free to my clients, so each client can sign up for his own account. And can add some users from his company to work on my application.
So I need an admin panel to control clients’ accounts, set permissions on how many checks & Receive Payments & Journals can they print each month. How many users they allow to add. And how many CUC & PDC they can track per month.
This can be designed as three packages to simplify things, and each package can be edited by me any time.
So each client will fall into one of these packages.
Also I need to track some basics statistics like; how many times each function were used by each client per month.
How many active clients and so.
This project is to build an online application (Website) for QuickBooks Online & Desktop editions in order to make users able to perform the following activities:
Print checks, Receive Payment, and Journals in customized forms. (Checks in Arabic as well)
Track Post-Dated-Checks & Checks-Under-Collection.
Basics and standards of software development (OOP and OOD) should be taken into consideration, even if not written in this document, including but not limited to the following:
Programming to interface
Well documented code
How it works
When user log into the application, if he have a new names entered and still not translated yet, a notification will ask him if he want to enter Arabic Names for the pre-entered names in QuickBooks.
He can accept to start entering or can skip to enter them later. Or keep them without translation.
When he accept, he can see all names in a table to bulk add or edit names.
Names should be grouped: Customers, Vendors, Employees, and Other (as QuickBooks Default)
User can search, filter names
Print Checks, Receive Payment and Journal
In the application printing window, user can customize the form before printing.
Customization include show/hide all QuickBooks fields and columns.
User can save, add, and edit templates for later use.
Already printed transactions should be marked as printed to avoid duplicate.
When a name has an Arabic translation, user can select to print using the Arabic name or the original one.
Checks can be printed in Arabic as well.
User can set the check number before printing for each check, or it will increased by 1 automatically.
Check number from the application will be entered into QuickBooks original check automatically.
Track PDC & CUC Checks
When user log into the application, if he have a new checks entered and no due date was assigned to them, a notification will ask to set due dates.
When he accept, he can see all PDC & CUC checks in a table to bulk set due dates.
Checks should be separated C&C from PDC in separate tables.
User can search and filter checks by due date, transactions date, name, amount, account
Total PDC & CUC should be calculated and grouped in tables
Table can be printed as a report
User can Tick the collected and withdrew check so it will be excluded.
User can edit the tick if he wrongly ticked some checks.
Reminders & Email
We should be able to accept or reject user’s signup.
We can set limits per months for the mentioned functions for each user.
Suspend and reactivate users account
Track Analytics: (# of active users, last accessed by user, Number of prints each month by user, number or entered PDC & CUC separately per month)
Admin has no access to user database. Only user statistics can be viewed by admin.
We can set how many users can log into the same client account.
Add/remove user to his account
Security & Privacy
Application and connection must be secured
Standard security basics should be applied
The application will be hosted on Amazon
[url removed, login to view]
Documentation & Future development
In-Code Documentation is needed for future development.
All resources should be provided in an open source format for future development.
Intuit SDK for Desktop & Online Edition: [url removed, login to view]
QuickBooks (This is critical: you must know what you want to do in QuickBooks and whether you can do it in the QuickBooks User Interface before you start designing your application.)
Programming language of your choice (Java is preferred)
Microsoft’s Component Object Model (COM) (in most cases; see Figure 1)
Knowledge of XML is useful if you plan to use the qbXML Request Processor API. In this case, you may also want to install and use an XML parser such as Microsoft’s XML Core Services (MSXML).
About page: should be added with company brief and logo.
And to show customer’s license and expiry date. (Ex: Active till Oct 11, 2020)
Help page: Steps on how to use the software (I will write its content)
Support page: support email & phone number (will be provided later)
41 freelancers are bidding on average $640 for this job
I have already integrated quickbooks online with custom developed project by us, if u want u can check this link [login to view URL] I am best fit for your project