For those with kids you are probably familiar with the children's book "If You Give a Mouse a Cookie".
For those who aren't I'll try to keep my summary shorter than the book itself. When you give a mouse a cookie he is going to want a glass a milk and when you give him a glass of milk he is going to want... and so on. (Wikipedia article). As a software company, our parallel to the mouse is our customer and the cookie is some feature of our software. For Comecero it is invoicing. We created a module to allow customers to easily invoice their customers:
and for their customers to easily pay those invoices:
However, once you create a module like this, the scope starts to grow - and not unreasonably. Not every one of our customers is based in the U.S. so a logical request is multi-currency support. Done. If a customer's credit card information is already on file, the system should be able to automatically settle the invoice. Done.
Allow for invoice line items to be pulled from the existing catalog. Same for existing customers. Done.
Re-send invoice links, create a PDF, feed external systems like Quickbooks or Xero.
You can see how these requests can grow. Thankfully the Comecero platform is API based and is very extensible so addressing these requests is not difficult. Our challenge is to make sure the core functionality remains simple and easy to understand (even on a mobile device). Otherwise the system turns into a series of buttons, levers, toggles and settings and the module once so beloved becomes cryptic and hard to use.
Now, pardon me, I just had a cookie and I need a glass of milk.