No need to enforce anything.  Users could just declare accounts to be 
either debit or credit.  Something like:
  debit account Assets:Bank:Checking
or
  account Assets:Bank:Checking
    debit

Accounts which are not explicitly declared will simply inherit their status 
from the parent account.  The (implied) root account would be a debit 
account.

Handling of existing files would not be changed but if someone wanted 
traditional accounting they could just add to the beginning of their ledger 
file:
  credit account Liabilities
  credit account Equity
  credit account Income

For credit accounts, amounts would have their signs reversed on input and 
on output.  You could even go so far as to add a credit/debit option to 
reports to output amounts in two columns, debit and credit, instead of one 
column with signs.  For the register report, every negative amount in the 
ledger file would get output in the column opposite the account type, 
credits for debit accounts and debits for credit accounts.  You could even 
add totals to the bottom of the credit/debit columns so the user can verify 
debits=credits.

Rick

On Thursday, March 19, 2015 at 11:34:55 AM UTC-7, Martin Blais wrote:
>
> There's no real need to rewrite the software; it should be a very easy 
> change to the Ledger or Beancount parsers to flip the signs on input (well 
> in Ledger you'd have to define well-known categories; Beancount enforces 
> all accounts have to be in one of the 5 already), and for output the 
> reverse could be done. In principle this is doable and this is also a 
> small, isolated change (on rearchitecture required or anything like that).
>
>
> On Mon, Mar 16, 2015 at 10:48 AM, Peter Keen <[email protected] 
> <javascript:>> wrote:
>
>> Penny[1] is a project that aims to build a command-line accounting system 
>> with the traditional idea of debits and credits. It seems like it hasn't 
>> had any activity in awhile but I thought was a neat idea last I looked.
>>
>> [1]: https://github.com/massysett/penny
>>
>> On Mon, Mar 16, 2015 at 10:44 AM, Martin Blais <[email protected] 
>> <javascript:>> wrote:
>>
>>> Yes.
>>> What's happening is that we're essentially using the correct internal 
>>> representation of the software externally.
>>>
>>> Note that if the accounts are coerced to be in one of the five types (or 
>>> otherwise have some such attribute to classify them), there's a trivial way 
>>> to convert inputs and outputs to conform to the traditional debits/credits 
>>> representation.
>>>
>>>
>>>
>>> On Mon, Mar 16, 2015 at 6:30 AM, Mark Alexander <[email protected] 
>>> <javascript:>> wrote:
>>>
>>>> Excerpts from Rick F's message of 2015-03-16 02:07:33 -0400:
>>>> > So along comes Ledger, written by a computer scientist, not an
>>>> > accountant. Computer scientists don't have anything against
>>>> > subtraction since it's really just 2's complement addition, and they
>>>> > hate added complexity, so they do away with credits and debits
>>>> > entirely by just moving everything to one side of the equation.
>>>> > Debits+-Debits=0.
>>>>
>>>> This is the reason why I find Ledger's model much simpler than the
>>>> classic double entry accounting model.  When I look at descriptions of
>>>> the latter, e.g., the article on Wikipedia, I get terribly confused
>>>> about which types of accounts get bigger or smaller when you credit or
>>>> debit them.  I finally realized that my confusion about the seemingly
>>>> unnecessary complication stems from accountants' hatred of negative
>>>> numbers.
>>>>
>>>> But I find negative numbers so much easier to understand.  All I have
>>>> to know about ledger is that in a transaction, money added to an
>>>> account (or accounts) has to be subtracted from another account (or
>>>> accounts).  Then, for example, I can treat credit cards and checking
>>>> accounts the same way: when I take money from them, their balances are
>>>> reduced.  The difference is that a credit card starts with a zero
>>>> balance and goes negative when I take money from it; the checking
>>>> account starts with a positive balance, and (if I'm doing things
>>>> frugally) stays positive (though reduced) when I take money from it.
>>>>
>>>> Accountants would probably hate this model of things, but it works for 
>>>> me.
>>>>
>>>> --
>>>>
>>>> ---
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Ledger" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected] <javascript:>.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  -- 
>>>
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Ledger" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  -- 
>>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ledger" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to