FBCore is a project that I am slowly working on. There will be much more information in the future, but just to give you a bit of info, FBCore is a small business, web based, customer relationship management and billing system. It is designed for small businesses that can’t possibly afford the giant/mamoth systems like Peoplesoft or the like. We small businesses need an easy and affordable system for basic billing and customer tracking, wouldn’t it be nice if we could have at least a few of the features that these enterprise class systems can provide?
We call it FBCore because, FB is for First Byte, and it is designed to be used as a *core* development object template for web appliations. What I mean by that is a little complicated to explain, so bare with me. Most, maybe 95%, of what I need to build for a client is actually simple. Businesses all need the same basic stuff at a basic level. They all need to track customer names and addresses, many need to track simple order or communiction information. Of course, the details of how they do these things is different, but at a core level, it’s all the same stuff really. I need to be able to use a *core* set of mini-applications for development on customer projects. The core is basically a base set of applications like, contact management, order and billing tracking, customer communications, and other things. Now what I do is take this core set and build upon it. Customize it for my customer. Add new things or remove others. This way I dont have to reinvent the wheel each time a project comes up. Obviously, every client has their own set of requirements and issues to solve, and a lot of development always needs to be done, but if they need to track names and addresses, I don’t have to rebuild the whole thing to get started. I can then say, “Well I have half of this in my Core system, now we can just add your new modules and customize the Core, and we’re there.” This is why I call my basic Accounting system FBCore, as it has the basic, core elements that I will use to build off of for future projects.
This system isn’t anywhere near complete, but version 1.0 (or more apropriately, version 0.2) is in use now at 1st Byte Solutions. When I have more complete, I will share it here! And yes, it will be for sale.
Update as of 7/16/05
Currently we are at version 2.1.2. The system is running on Zope 2.7.4 using an ODBC connection to Microsoft SQL Server. The program tracks information in these modules so far:
- Customer names and addresses (can be extended to Contacts or for sales leads and even employee tracking too)
- Items. This is a very, very simple product listing. It will be extended to include inventory management in the future.
- Order/Estimates. Again, simple, but it does a great job for me so far allowing me to create an order before the sale and estimate my item costs.
- Invoicing. This is my favorite part of the system. It has some complex SQL code running to calculate and manage the current billing information of my customers. Currently, how I use it, when I finish an on-site job for a client, I use my laptop and quicly print out an Invoice and/or email it to my client. It’s a quick process. But, it also allows me to manage several invoices to multiple clients at once.
- Accounts Receivable. While this is not a *real* accounting system, this is the place that I manage the receiving of money. It allows me to see who owes me what and when it’s due. I can print statements and reprint old invoices, as well as record payments and issue credit memos.
I have plans to convert this system to MySQL 5 in the near future because from my perspective, it’s better to have this kind of application runnable on either Windows or Linux. Using MS SQL does not allow me to do that. A major reason why this is important is because it needs to have a low cost to the customer, and part of making it cost less is to provide internet hosting of this application. In order to do that I can’t host on Windows, it simply costs more than I want to spend. Plus, I like Linux too much, and I trust it. However, many clients may already have a Windows server and with Mysql, I can run my application on that too.
Unfortunate news – April 2006
Development on this project has all but stopped.Â I truly enjoyed working on this and would love to have seen it grow into a more useful program, but a lot has changed.Â A LOT!Â This system was designed in Zope, an application server I love.Â However, 2 things stopped me from continuing on.Â 1. Zope didn’t meet my needs anymore.Â I moved to PHP. (will blog on that eventually)Â And 2. I didn’t have time and needed more features than I could create. Â I got busy, and it came down to this:Â Could I afford to pay myself to create these features?Â No. Â I hate to say it, but, I gotta do the work that pays me.Â Maybe someday, I’ll pick this up again and make a *core* system in PHP/AJAX.Â But there’sÂ lot of that going on now too!