I've been looking for a while for some software to manage my business but everything I evaluated has fallen short. I've tried a lot of online billing systems (eg http://www.freshbooks.com/) but they're all abroad and thus do not support the European VAT thing. In most of the systems I tried the contact management wasn't really what I wanted either.

When I had my first business I developed my own 'intranet' to manage all that. Two years ago I re-started a small company and am still using that very thing I created 6 years ago, because it does just what I want.

I know have plans to develop a drupal module that:

- can manage companies and their contacts
- allows customers to log in the system to submit tickets/ask questions/view invoices/etc...
- create invoices for those customers

I've looked at the erp (http://drupal.org/project/erp) & ecommerce (http://drupal.org/project/ecommerce) module but neither does what I want. There are some things that could be re-used/extended though. Note that I haven't explored either module fully yet, so I might still find other good ideas in there. I also briefly looked at CiviCrm.

Things in ERP I liked:
- Organic Groups are used on Customers. So you can add all the contacts from one customer in 1 group.

Things I didn't like:
- Contacts are not users and they are not nodes. I would make users contacts and add additional fields with Profile. So every contact can log in.

Things in Ecommerce I liked:
- There are a lot of product types and it seems to work very well for individuals who shop and check out. There are a lot of payment and shipping options. It would be a shame not to use anything of this.
- Multiple addresses

Things I didn't like about Ecommerce:
- It is centered about individuals and not companies.
- Addresses are not nodes.
- Addresses are linked to users in stead of some other entity.

There is invoicing in ERP but I don't know if it works with ecommerce products. It should though. In ecommerce I couldn't find any real invoicing either.

What I would like to make:

Company.module:
It's just a group to indicate a company. One of your customers/suppliers for example. When you create a company you can create/assign contacts to it. Those contacts are users. Additional fields can be specified through profile.module. A company can also have a general address.

Address.module:
The ecommerce address module links to users. I would make it link against companies and use 2 types of addresses 'billing', 'general'. The general kind can be used for shipping or to link to the address of a company.
There is already a patch to introduce Vat ID's and company names in addresses: "Address module with company and vatid (EU 25)" (http://drupal.org/node/31754).

Invoice.module
A good invoicing module. You can add ecommerce products to the invoice or free fields. The invoices are saved in their entirety so that can always be retrieved at a later time.

At first I thought having a company node that has a VAT ID, but using the approach above you can have multiple billing addresses against 1 company name that you use as reference. This is actually something I need since I have a customer which has multiple companies.

This is what I discovered by playing around with ERP and ecommerce a little. I would like some feedback/suggestions on this. Do you know another approach? The idea is to be able to come up with a complete plan before I start this journey.

Comments

sin’s picture

Try "CCK" module to build them. It has a field editor with a field type to create multiple relations from one node to another, so you can connect multiple addresses to a company. But to create invoice node type it might require some coding. I just working on a simple module to process waybills of a small shop with single store, I do not found anything among Drupal contribs to implement this.

sime’s picture

Hi Jax

As far as I can tell, your requirements align pretty closely with what gordon wants to do with ecommerce. gordon took over as maintainer of ecommerce shortly before 4.7 so it hasn't been until now that he is starting to add in his preferred features.

Specifically I'm thinking of what you've said about invoice.module. gordon plans to add in his invoice code for 5.0. At that stage, ecommerce will allow an administrator to generate transactions and invoices, and even send an email to the customer with a pdf invoice attached. Cool!

There are indeed some unknowns with ecommerce, but on the other hand there is a lot of momentum. We have 5 maintainers to date, and we're confident that it's going to improve with each release.

For the customer support side. I am quite comfortable now with casetracker, that is getting a lot of healthy attention by some good coders. I can't see a better alternative to that one, for my situation.

Hope this helps.
Simon