I am going to develop a module as an accounting system integrated with drupal cms.
I want that companies and developers, both should share in this module. I need guideline from companies about business strategies and from developers about programming logic.

Comments

burningdog’s picture

This is great, figover - drupal could really benefit from an accounting module :)

Have you done any development work before? I'd definitely suggest integration with Rules, so that users can interact with the accounting logic.

Are you thinking of integrating with e-commerce or ubercart, and have you looked into invoice and the money CCK field?

Is this going to be a double-entry accounting system?

figover’s picture

I have studied about double-entry accounting system. But not too much clear about it. Please explain. For now this module will integrate with cck and views module, but later we will integrate with ubercart also. I want some accounting persons should also share their knowledge here about the required accounting system. So that things will refine.

figover’s picture

Here is use-case of module

-- Coding Form (For adding account names)

-- Journal of all items

-- ledger of each item

-- Trial Balance

---------------------------------------

We will extend it with development.

figover’s picture

I have following content types in the system

-- Coding Form

-- Cash Paid Voucher
-- Cash Received Voucher
-- Bank Paid Voucher
-- Bank Received Voucher
-- Journal Voucher

DrewMathers’s picture

Figover,

Have a look at http://drupal.org/project/erp

It provides some accounting functions.

figover’s picture

I have a look at http://drupal.org/project/erp
But This module is not dealing with accounting system.
This accounting module will cover these all aspects.

jfuess’s picture

A lot of work to make this project, I think that http://drupalmodules.com/module/storm is farther along, although still not a true accounting system, but still very robust.

figover’s picture

I want to give my code to the community. How can i do it? Please guide me.

rszrama’s picture

The best way to do that is to apply for CVS access here on d.o and make a new project. Once you've made your project page, you can commit your code to the community CVS repository where you'll have source control and the ability to package up versions of the code for release. You'll also get an issue tracker where you can track bugs, features, tasks, etc. and provide some basic usage support. Anyone can create documentation on d.o, so you can find the appropriate place to add your documentation to the handbooks and link to it from your project page.

Sound easy? It really is! I'm the project lead of Ubercart and would love to see us integrated w/ accounting systems like it sounds like you're developing. : )

davidpbarton’s picture

Hi

What I would suggest is that we create a project to integrate ubercart with a Saas accounting application called Xero (it's tailored to NZ, Australia and UK at present and being rolled out to USA) . The Xero API uses a RESTful approach and responds to requests in an XML format. Authentication uses Oauth

I am a chartered accountant and work closely with Xero and can see huge potential in this area. All I need is someone on the Drupal Ubercart side to work with and I can project manage the Xero side and we will be able to definitely make this happen a lot quicker than you think. I do not recommend going down the path of writing an accounting system from scratch when there are great SaaS accounting systems already available

izmeez’s picture

Xero is an online accounting system and this may be a significant disadvantage to some.

There are ongoing monthly charges and it appears as though your data resides in their database.

A Drupal accounting package would certainly be an ambitious project but may have some real benefit.

JayKayAu’s picture

Hi David,

We're thinking of migrating to Xero at some point, and I'm wondering if anyone has taken up this idea?

I'll keep looking around today, but I'd be thrilled if someone had already done this :D

aabrate’s picture

I agree that this type of module would really benefit many online retailers. We would definitely use it for our two web shops and it would aid in the automation of several payment processes which are currently manual.

Our drupal shops are:
http://www.notebookcity.co.nz
http://www.notebookcity.com.au

mradcliffe’s picture

Bumping this up with some news...

I'm almost ready to release a module that will let you interface with Xero to post or get different objects.

It's aimed to be a basic API so that developers can extend it rather easily. Currently I have a private module that uses the xero module to post invoices with line items from our Open Atrium site.

weblinq’s picture

I've been writting some code, but it is in Dutch and it is build in another module. Maybe I can take this accounting piece out of the code and take that as a starting point. But I can't promise you when I am able to do this.

Functionality is that you gererate invoices based on repeatedly subscriptions. After generating invoice it's is possible to generate PDF's and send the invoice by mail to the customer.

There need the be add functionality to add manual invoices.

Let me know if it is a good idea!

figover’s picture

Hello

I need drupal developers for integration development on this module.

I am developer, but this accounting system has bigger span.

figover’s picture

Congratulation! We are close to that accounting system. It is customized form of drupal and some modules integration.

I tried my best to develop a separate module for accounting but i have small time :)

figover’s picture

I am testing this accounting system in Real Environment. I will contribute to community after testing in Real Environment.

Youblob’s picture

Hi, I've made a list of accounting softwares here: http://www.youblob.com/?q=node/210

Currently, the Phreebooks have integration towards Zen Cart. (it pushes info back and forth)
Phreebooks also seem to be the most developed and user friendly. So I would put my thumbs up for that one.

NATech’s picture

There is already the ERP module, which I believe has started on this, although I am not overly familiar with it.

http://drupal.org/project/erp

That said, creating an open source accounting system is no simple task at all. I would suggest that you look into the LedgerSMB (http://www.ledgersmb.org) package for a starting point. Sadly it is written in PERL, but it's current development path is moving most business logic into the database, so it may be soon possible to port it to PHP.

Just some thoughts. Good luck!

JayKayAu’s picture

Hi Figover,

(In response to your message to me: "u need accounting system in drupal"....)

The goal of making a full accounting system in Drupal is a very good idea. However, I would warn that it would be a very big project to undertake, and it would require a very good understanding of accounting and double-entry bookkeeping..

Perhaps you can start small, and gradually add features to it until it becomes a viable alternative to QuickBooks/MYOB/etc., but for people (like me) who need a full accounting system right now, it's not practical to switch over to an embryonic Drupal project.

I'd suggest that if you want to get this project to work, you would need to either:

1. Start the project and really drive the planning and development effort *yourself*
or
2. Find a big pile of cash and sponsor someone to develop it

I don't think it's reasonable to ask for something and expect to recruit people to do the work without leading the effort yourself. This might include setting up a project, planning out milestones, building something basic that can be expanded upon, etc..

However, despite my warnings, if you're serious about wanting to build this project, then please give it a try! It would really be great to have a Drupal accounting package that could compete with QuickBooks/MYOB/Xero.com/etc..

voyager.10’s picture

I'd like to pursue this topic.

What I had in mind is to start at making journal entries first.

1. This would include a chart of accounts and the journal entries itself.

From this some reports can be generated
1. Account Ledger
2. Financial Statements
3. Trial Balance

These are the very basic needs in bookkeeping. I imagined that the user has a small business and tends his/her own bookkeeping.

I hope this helps. If I'm going to need a simple bookkeeping application/module in drupal - this are features I'm gonna need.

To summarize:
Data management for
1. Chart of Accounts
2. Journal Entries

Reports Generated
1. Ledger
2. Financial Statements (Profit & Loss, Balance Sheet)
3. Trial Balance

tazus’s picture

looking forward to the development!

game’s picture

Would really love to see this project take off as I am currently looking into various solutions myself and it would be great to be able to develop this within Drupal.

is there any word on its current development?

also has anyone checked out the erp module?

webalchemist’s picture

I am going to create my own basic application that

allows users to define accounts for assets and liabilities with date opened and %

Track deposits and withdrawals from specified account

track upcoming bills and deposits

Provide charts for cashflow forcasting

I used to use money 2005, which I was mostly happy with. Unfortunately MS is no longer supporting this so I am moving to an open source solution.

I will keep the community advised once I have something worth sharing.

.... actually I just reviewed the erp module and it looks like they have included accounting now>

http://drupal.org/project/erp

However I do not see a function for estimated cash flow based on planned expenses

izmeez’s picture

What about GnuCash integration?
http://www.gnucash.org/

Anonymous’s picture

This thread looks dead and I have seen no action on part of anyone involved. That being said I actually have already created a accounting platform on drupal. I didn't have to code a single line. I used global math for everything.

My question is should I turn it into a module, a distribution or a installation profile. I don't know what the best option is. I know my setup includes quite a few views and links to them in menus but other than than a couple content types. I could make it any of them but I am not sure what would be the most popular.

I actually built my accounting software on OpenPublic so it is a pretty secure system and it is ready for government goals. I would like a few opinions from the community on what format this setup should be in.

I also built a mileage tracker / deduction calc on the same system. Let me know what you think.

izmeez’s picture

My opinion is that a module would be more versatile than a distribution.
Interested to see what you have come up with.

Anonymous’s picture

Currently I have the system totally functional as a sales platform. I am adding more features daily so I will be posting daily snapshots. If you check out the project page you can now see a bunch of screenshots of the system. This is is admin mode so it looks much nicer in user mode. I am working on adding features and UI today to make it prettier. Let me know what you think so far.

Anonymous’s picture

https://www.drupal.org/sandbox/alex_drupal_dev/2395037

check out the screenshots to see the daily snapshot.

izmeez’s picture

Thanks. I took a look at the screenshots and see what you are doing with the sales.
I'm not sure what your overall plan looks like.
I thought you might use Commerce for the products.
I am wondering where you might go for journal entries and a general ledger.

Anonymous’s picture

I have seen lots of people using other programs for this all but drupal can do all these things internally so I plan on building it all it from scratch. Maybe it is ambitious but since this project is about a day old and is as far as it is I think I can do it. I work fast and when I have a goal in mind I get it finished.

If you have any feature ideas that you think I should include I would love to hear any suggestions. If anyone in the community has ideas I would like to hear them now since I am mid build right now.

Thanks for checking it out.

I reworked the images. Had several dashes originally now I simplified it to panels of the views to make it cleaner. I plan on doing a lot with budgeting as well. Let me know if you have any ideas.

izmeez’s picture

For clarification if any is needed,
I was referring to the Commerce module for products.

On the accounting side you would have A/R journal entries tied to the general ledger. I presume that is what you are doing in drupal. I just don't know what the plan or schema is that you are adopting.

Anonymous’s picture

Honestly I didn't have a end goal in site other than build a really awesome opensource accounting system in Drupal. I want to replace quickbooks and paid software with a drupal version. I am hoping to get a product that has the features of something like gnucash with being outside of Drupal.

I just did the journal entries system with a tied in taxonomy for accounts to pull from. I will put some updated pics on the project site. :)

adominique’s picture

Hello,
I have been developing my own ERP since many years in PHP. It is used by few companies (small) and group of companies with mutiple branches.
With the release of Drupal 8 I have decided to convert all the system into drupal modules to gain quality and stability. I am still into the process of 'translation' into modules but the project is pretty advance and beyond accounting with extensions to logistics , HR , projects management etc... Each module cover a specific ERP subject (Customers, items, Accounts, Sales, HR, etc...) but are linked to each others.
The Accounting itself covers: journal, journal entries, ledger, trial balance, reports (Balance sheets, P&L), chart of accounts, expenses management, bank accounts management, cash management, currencies management (system is multi currencies enabled) internal transactions (system support multiple entities inside a group), claims, reconciliation report, reporting and budgeting. I have been using myob before and got some inspiration there. However i am not sure it can be qualified for a professional accounting system yet.
I still did not decided how I will deploy it, It is the result of many years of work and still under development, currently testing Drupal 8 Beta 4.
I may share some of my experience on the subject.

Anonymous’s picture

I would love to see what you have to work with. The things I would be most interested in is the lists of names of fields. This projects is a internal build so all code will be done within drupal it's self. No php is going to be allowed, this is to keep the distro secure based on FISMA advanced security. That being said if you have lists of fields and which content types they are attached too I could build this even faster. An example of this is taxonomy lists for accounts or taxonomy lists for currencies and so on. This lists can be implemented in my system pretty quickly.

adominique’s picture

the basic thing youn need if you want an accounting system is a journal. Journal is the base structure for a double entry accounting standard. I means you need also to have a basic (if not advanced) understanding of double entry procedures in accounts.
My journal table looks like this:

CREATE TABLE IF NOT EXISTS `journal` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `aid` varchar(10) NOT NULL DEFAULT '0', // account id from chart of accounts
  `exchange` varchar(1) NOT NULL DEFAULT '0', // flag for multi currency computation 
  `coid` varchar(10) NOT NULL DEFAULT '0', // company - entity id in multi entities config
  `type` varchar(10) NOT NULL DEFAULT '0', // debit or credit
  `source` varchar(50) NOT NULL DEFAULT '0', // link to other modules entry id  i.e. invoice
  `reference` varchar(50) NOT NULL DEFAULT '0', // type of entry i.e expense, invoice , purchase
  `date` varchar(50) NOT NULL DEFAULT '0', // date of entry
  `value` double NOT NULL DEFAULT '0', // amount
  `reconcile` varchar(10) NOT NULL DEFAULT '0', // reconciliation flag for reco procedure
  `currency` varchar(5) DEFAULT NULL, // currency of transaction
  `comment` varchar(250) DEFAULT NULL, // optional comment
  PRIMARY KEY (`id`),
  KEY `Index 2` (`aid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Note that the structure is related to other modules that are linked to the accounting module thus some fields are not compulsory in a stand alone design.

The full application menu looks like this:

Address book
Products and services
Documents
Settings
Sales management
Purchases
Quotations
Invoices
Settings
Human resources
Edit parameters
Manage payroll
Roster
Logistics
Stock receiving
Delivery orders
Returning orders
Settings
Project management
Settings
Finance
Journal
Expenses
Bank
Cash
Memos
Reconciliation
Report & budget
Settings
Administration
Access
Companies
Countries

izmeez’s picture

@adominque Seeing your full application menu made it clear what you are doing is beyond just accounting and encouraged me to look up ERP --> Enterprise resource planning. Looks like you have created an elaborate system. A few items might be more like addons that could be done in a variety of ways, such as project management and stock management. It will be interesting to see how you have done these.

adominique’s picture

The system is large but not so elaborated. As a matter of fact, the decision to re-code all under drupal 8 is partly for being able to extend further and simplify maintenance. Because I have already existing companies using part or all functions, I had to keep in mind the migration from current system to that one without disturbing to much the existing structure and DBs.
It all started about 10 years ago. for my own startup. I needed a simple expenses tracking system as well as invoice, quotations and projects follow-up. Then another company wanted to use the invoicing system but wanted a simple logistic module to issue DO from an item list. From there I also implemented with another company with multiple branches in different countries with non integrated accounting. It needed a way to have collaboration tool as well as some standardisation. Thus the system became multi entities / countries / currencies enabled. it also became more difficult to maintain and extend because not build on proper framework.
As you said some items maybe just addons that already exist elsewhere but my primary objective is to keep existing data structure for companies using the system. Thus it was easier for me to build it directly instead of looking around to find matching modules to which I would have to adapt the data structure. Besides, they are already more or less integrated with each other which also a good reason to do so.
I will let you know about a demo once I corrected some bugs in D8 beta 4.

izmeez’s picture

Thanks for the details of the history.
Finding compatible modules to do all that you are would be a challenge.
I noticed the module https://drupal.org/project/currency which might be a piece you could consider.

millrivermusic’s picture

Is this work you have done available for us to try? Does it integrate orders from Commerce and POS?
Thanks

adominique’s picture

Yes work is in progress.
Immediate objective will be to propose a distribution package. But not ready yet.
We offer cloud application to selected customers as open source version is not stable yet.
Online demo can be viewed here.
Integration with other solutions like commerce is also an objective but not yet available.

Anonymous’s picture

Sorry for not checking back sooner, I have been pretty busy with other stuff for a bit honestly, that and I ended up in a wheelchair most of the time.

I looked over your way of approaching it and definitely think is it more ERP for sure. I did actually include a lot of those in the system I am building, and actually I included some things you didn't seem to show there as well. To be honest I modeled my system after quickbooks mostly and I really tried to copy their approach to accounting. I also wanted to have a no code approach to see if it would run faster then a code version. Honestly I think it succeeds at that. 

I really should try to get a distribution of it on here, but I have been really having a difficult time figuring out how to. I really need to find a easy way to make drupal 7 sites, into distros. I am lacking that talent badly and since I build so many types of distros, it is a critical flaw. I can build systems in a day on my local host, but can't share them. It must be a autism thing, I can build systems faster then people can imagine, but can't figure out how to package them for transport. 

I tried to model the content types in my distro to be as reusable as possible and very few, so I used a couple different content types for most of the categories of transactions using drop downs and more. It makes is really nice to use honestly, and fast. The biggest part of my approach is actually doing math in views because I like to see the numbers and totals right there is views in a "ledger" looking way. 

I get your approach with code though it seems very much like the easier way of doing it honestly. I guess trying to do it with no code is the super hard way of approaching it honestly, but for some reason I find it pretty enjoyable seeing it coming together so nicely. 

My system now also includes a way of adding products to the system with full specs tracked by taxonomy, as well as services, and I included a dashboard for sales, including wholesale as well. Now it seems more like it could be a call centers software and business accounting system. I think I turned my accounting system into more of a "call center operation system" but it is able to do rough accounting and tax right in the system too, also showing the sales tax and more, as well as calculating sales commissions ect. Not sure why I ended up adding that stuff, but it seems like it may come in handy for some company I guess. 

I wish I could figure out how to get it to a sales point. I think a lot of you other developers seem to easily be able to make the connections to sell your software as a service, but I just don't have a sales background. I need to find a way to market my software badly. I have so many different systems I have built now and no marketing for any of them. I literally am swimming in software I can't put out.

I managed to build salon software, call center software, software for art galleries to track art, software for parking lots, software for photography business, and software for like 50 different business types. I have software for a lot of stuff that is actually great, even mechanics software. That said, I can't figure out how to sell any of it. It must be my autism or something, I can get how to build complex systems, but can't make a sales page or landing page that works. I can't figure out how to sell anything. I also suck at making connections, and since becoming crippled I can't even get out to network anymore. 

After almost 7 years creating software with drupal I have zero sales, and a track record of having squashed a 5 million dollar venture capital deal on my startup at the point when it was a sure thing. It's like a curse for me trying to figure out sales and making money with Drupal. I have the skills, no job doing it, no way to sell my software, and no idea what to do to change that. All I want to do is get paid to work with Drupal and I can't even find a site building job. It's insane honestly. 

I thought Drupal might help me support my family as a developer, but after 4 kids and 7 years with Drupal, I have yet to see a single dime from Drupal. I put in the time and effort to learn 6, 7, and 8. I paid Drupal associations memberships, joined buildamodule and did everything. I contributed to other projects, I have been to camps and taught about drupal, I have a youtube channel all about Drupal, I also did 22 video tutorials for h5p about their Drupal stuff. Tutorials for other projects, Its like nothing counts or matters. Unless you are a code monkey putting out php snippets Drupal and the community does not care about you. 

I can code php just fine, but if anyone actually understood what you can do inside Drupal they might change their thinking. The most messed up thing I have ever seen is that people code stuff that can be done inside Drupal in 5 or 10 minutes with core. It makes "ZERO" sense to me. I can build just about anything you can in code, inside Drupal, and yet people still code it rather then use the constraints of a nearly perfect system. It makes my head hurt how much can be done inside drupal, and people just hard code everything. Its like a sickness in the community thinking more code is the answer. 

Sometimes the less code, the better. The most elegant solutions to problems, are sometimes the simplest ones. Its like most developers don't even know what drupal can do inside the box. They code it without even looking at the core system that does it all already. Honestly I think people just don't realize how many ways you can use core to do absolutely incomprehensible things. I have done so much stuff with core that people said could not be done it just boggles the mind. People just don't understand the power of working in a constrained system at all.