Small Business Stuff

Michael Fair michael@daclubhouse.net
Tue, 22 May 2001 12:29:28 -0700


I met with jsled on #gnucash last night and after
speaking with him about a sole proprietor focused
edition of GNUCash and he recommended I drop a line
here to see if we can start a thread on the small
business topic to archive some of the ideas.
 
 Specifically I can talk about what what my needs are
and how I would like them solved, and that seemed to 
 be of value to discussions for those of you working 
 on implementing it.

I run a sole proprietorship, and know two others 
 who could also use a small business accounting 
package but haven't found the need to justify the 
cost of buying a "Commercial Off The Shelf" solution 
just yet.  
 
 I currently use PeachTree's Complete Accounting and mostly 
 feel overwhelmed by it, in addition it is really defaulted 
 for a product based business where I am much more service 
oriented, doing computer and network consulting.  The other
two people do not have any current package, my sister is a 
massage therapist, and another friend is a contract artist 
who does custom mural work, her own gallery presentations, 
and other contract art.
 
 The three of us are all mostly services with some 
products businesses and we are out in the field as 
well as in the office having to followup on leads and
manage clients as part of our core bussiness.
 
Most of the conversation on the IRC channel was a blue sky
dream come true of what I was looking for, and I believe
we narrowed it down to a good subset.
 
I don't know how much of this the developers have already
decided on, so please forgive any repetitve or contradictory
comments I might make in this email.
 
Our businesses run pretty much as follows:
1) We do some advertising (mostly word-of-mouth)
2) We book appointments (billable time here/calandering)
3) We do the job keeping the expense records
4) We bill the customer expenses plus labor
5) We manage payment of the invoice
6) We manage our "back office" expenditures
7) We do our taxes based on the prior profits/expenses
 
 I was looking at GNUCash as a total Small Business Manager 
as opposed to just a financial ledger.  This however may
not be the role GNUCash wants/should play.
 
 I heard that integration with Evolution was being discussed
which is perfect for what I envisioned.  Evolution can handle 
 most the contact management stuff like contact info, scheduling, 
 and email correspondence, but there is also meta-data associated 
 with that client (for instance what computer they have, what 
domain names I host for them, and what the administrative 
password for their router is in the case of a computer client) 
that I want to be able to create/modify somewhere in the package.

It turns out that one of the key questions is what domain of
problem does GNUCash solve when it comes to Small Business.
- General Journal Ledger is obvious

- Creating an invoice and managing the payments made on the invoice
    is another highly likely candidate

- But what about Job tracking and assigning costs/payments (line 
    items) to those jobs.  For instance, in our discussion we found 
    an almost one-to-one mapping between what I was calling a job and 
    what is currently considered an account.  Essentially each customer
    would have an account, and each "job" would be a sub-account that 
    would be created, filled with items (items being costs and payments)
    and then closed upon job completion.  The only difference we
    found was that these line items could have some domain specific 
    properties that could be helpful.

- Inventory management has almost nothing to do with general
    ledger finances but is vitally important to some businesses.
    I suppose if you looked at it the right way, invotory items
    could be treated just like currency. Each inventory item could
    be looked at as a form of currency, and the "conversion rate"
    would be the price.  So you would debit "Checking" by $XX.XX
    and increase "Widgets" by however many "Widgets" $XX.XX
    got you.  Unfortuantely this conversion rate is not fixed.
    You give people discounted, or inflated rates, you buy at
    cheaper or more expensive rates so it doesn't exaclty map
    across easily unless the conversion rate can be set per instance.

- Being able to purchase and then depreciate assets would be great
    especially come tax time and is a financial value related field.
    However I do not understand this aspect of financing so can't
    say much about it.

There were some other items discussed, and the GUI used to interface
into these items is also of paramount importance to me since that
is how I will interact with the data.  This further emphasizes the 
need to define the set of problems that GNUCash is going to be the 
solution for.  For instance, sending email to the customer and 
tracking their current contact information is clearly not within 
the realm of GNUCash's domain (Evolution is an ideal candidate for
that), I would even say that the customer meta-data that I mentioned 
 is also not in the GNUCash domain.  GNUCash should be able to access 
and update both those items in a seemless manner.

It's almost like there's this customer in an OS defined database
that is nothing more than an object name with no other info.
Then Evolution comes along and makes this customer reachable.
Then GNUCash comes along and gives us the ability to exchange
    financial transactions with this client.
Then some other program comes along and gives us the ability
    to keep track of router passwords and account names associated
    to that customer.
Then some other program helps us do project management/job tracking
    to help with what the customer has hired us for.
 
Or another way to look at it would be, the Small Business manager 
program comes along and adds contact information through the 
Evolution engine, and begins to track and manage jobs done for 
this customer using the GNUCash engine to store and track all 
the account information, and then the Small Business program 
continues to add the appropriate meta-data values that go with 
each class of object added to this customer (for instance, if they 
have me install a router for them, storing those router settings 
is important, if I host a domain for them then I have another
set of values (on per domain basis)) through some other 
yet-to-be-defined application.

-- Michael --