Invoicing (feature request??)

71 views
Skip to first unread message

o1bigtenor

unread,
Dec 28, 2021, 12:45:33 PM12/28/21
to Ledger
Greetings

I've been using 'ledger' for a while now and find that its a great program.

Haven't been able to find any holes but think I may have found one now.

Background
I wear a number of different hats and am working to getting a couple
more going pdq.
Just realize now that pretty much everything I usually use ledger for
is Accounts Payable.

The issue - - - - Accounts Receivable - - - -

Worked through the docs, looked at the non-profit docs connected
(think they're useful but - - - ),
did some searching in the group for any previous 'solutions' .

There really aren't any.
There is mention of something from 2009 that was listed as alpha
(seems to have withered since).
There are some questions but not enough to develop a logic flow (for
me - - anyway!).

I've used credit cards and charge accounts as assets (they are also expenses).

For small businesses, likely also consultants (rather than
individuals), would find a way of handling invoicing to be very very
useful.

So things like invoice aging and tracking are just 2 things to be able to do.

This is likely a 'feature request'.

(How can you tell that my business(es) don't make much money - - - - I
haven't asked about this in quite a few years of using ledger - - -
grin!)

Please - - - -
TIA

John Wiegley

unread,
Dec 28, 2021, 5:25:28 PM12/28/21
to o1bigtenor, Ledger
>>>>> "o" == o1bigtenor <o1big...@gmail.com> writes:

o> So things like invoice aging and tracking are just 2 things to be able to
o> do.

These sound like great features to add to the Ledger ecosystem, but I would be
hesitant to integrate them into the Ledger "core", where there is
intentionally very little knowledge of what different account types mean...

John

o1bigtenor

unread,
Dec 28, 2021, 5:47:23 PM12/28/21
to o1bigtenor, Ledger
I'm not sure 'how' to add the idea - - - in fact.

Maybe its something like ledger but its all about invoicing.
Or some way of writing things so that when the program sees the word
'invoice' that there are some other things that get triggered.

It may be that what I'm looking for is a way to use ledger for invoicing.

Maybe I'm just slow but I can't think of how to write things so that I can do
all the things I need to do to an invoice. (tracking, aging, closing, etc etc)
in ledger. There may be some way but I'm not seeing it.

Maybe trying to add this to ledger would stretch it out of shape?
I hope not - - - I like the way it works. Just need to be able to do AR.
Ledger does AP very very well so how do I bend my brain to get
AR thinking working?

Dunno if these ideas help or hurt my chances - - - lol.

Regards

John Wiegley

unread,
Dec 28, 2021, 6:40:32 PM12/28/21
to o1bigtenor, Ledger
>>>>> "o" == o1bigtenor <o1big...@gmail.com> writes:

o> Maybe I'm just slow but I can't think of how to write things so that I can
o> do all the things I need to do to an invoice. (tracking, aging, closing,
o> etc etc) in ledger. There may be some way but I'm not seeing it.

o> Maybe trying to add this to ledger would stretch it out of shape? I hope
o> not - - - I like the way it works. Just need to be able to do AR. Ledger
o> does AP very very well so how do I bend my brain to get AR thinking
o> working?

Sometimes, rather than fitting the idea into ledger, it's better to fit ledger
into the idea. Imagine what higher level syntax would be best to express
invoicing, and then write a tool to publish a Ledger file from this syntax for
your reporting needs. I'm doing that right now for stock trades, which are
possible to track in Ledger but far too verbose, yet it's not too hard to
imagine a convenient syntax plus some extra math that wouldn't be right to add
directly into Ledger itself.

John

o1bigtenor

unread,
Dec 29, 2021, 5:59:00 AM12/29/21
to o1bigtenor, Ledger
Hmmmmmmmm - - - - now if I only knew my butt from a hole in the ground
when it comes to programming - - - - well then I'd be doing something.
Sadly - - - that's not presently in my skill set.
Which is why I posted here.

Talked to a friend - - - he had been managing a small services company.
They invoice in one program and then do their accounting in another.
Sounds like a possibility for errors - - - like your idea of something parked
on top of or working with ledger.

Anyone out there interested in creating something for invoicing?

Please?

Pretty please??

(LOL)

TIA

Yashovardhan

unread,
Dec 29, 2021, 12:49:04 PM12/29/21
to Ledger
I am kinda interested since I am writing python scripts for ledger in my free time right now. What kind of invoices are you looking for? And how would the entries in your journal look like? If you can share some example data, I would be willing to give it a shot (no guarantees though :)

o1bigtenor

unread,
Dec 29, 2021, 4:52:20 PM12/29/21
to Ledger
On Wed, Dec 29, 2021 at 11:49 AM Yashovardhan
<yashovardh...@gmail.com> wrote:
>
> I am kinda interested since I am writing python scripts for ledger in my free time right now. What kind of invoices are you looking for? And how would the entries in your journal look like? If you can share some example data, I would be willing to give it a shot (no guarantees though :)


Greetings

I've got my head down real hard to complete some stuff before end of year.

Will get back to you after this stuff is done.

Did a little looking over the last couple days - - - - this may be a little bit
like checking out a very large onion (lots of layers (complexity!)).

Thank you very very much for your offer.

Regards

o1bigtenor

unread,
Jan 3, 2022, 6:16:48 PM1/3/22
to o1bigtenor, Ledger
Greetings Mr John (and list)

I've started on trying to list what invoicing should do.

One thing I'm running into - - - invoicing is about AR (accounts receivable).
Ledger does a very very nice job of AP (accounts payable) but there is
one thing both share is that there comes a need for a numbering scheme.
Like transaction AP # 0245078 refers to the invoice on 2021.12.23
providing with the updated drive on Santa's chariot (LOL) that I bought
(goofy example).

Dunno if one would have to store the transactions in a database to do this
but is there a way to have a numbering system?
(It could be something that could be toggled on and off -- - I don't think
it would be necessary for personal use that much.)
I'm thinking storing the transactions in a dbase (I would be choosing
Postgresql) would likely mean losing the readability of the data - - -
argh - - - - I really want to be able to use ledger for ap and ar.

Please advise

Kent R. Spillner

unread,
Jan 4, 2022, 12:02:12 PM1/4/22
to ledge...@googlegroups.com
> One thing I'm running into - - - invoicing is about AR (accounts receivable).
> Ledger does a very very nice job of AP (accounts payable) but there is
> one thing both share is that there comes a need for a numbering scheme.
> Like transaction AP # 0245078 refers to the invoice on 2021.12.23
> providing with the updated drive on Santa's chariot (LOL) that I bought
> (goofy example).

I've been using the code field for this: https://www.ledger-cli.org/3.0/doc/ledger3.html#Codes


o1bigtenor

unread,
Jan 4, 2022, 3:35:12 PM1/4/22
to Ledger
(LOL) More hidden gems to be found!!

OK - - - that would work - - - - now to keep one's numbering consecutive.

I will admit to populating my ledger file with say my most common transactions.
So the power bill, the phone bill, the ISP bill and the like.
This means that for 2022 there are some 6 bills already entered.
Now when the actual information is entered there are changes - - - sometimes
the date (sometimes that doesn't change - - - grin!), the amount and the
payee. Then there are the times I find an invoice in the wrong place - - - so
it was paid in say April and I find it in October and then its time to
enter the
information. It might be challenging to maintain a consecutive numbering
scheme.

Any ideas?

(Wondering if this is already hiding in the code - - - - chuckling!)

What a neat program!!

Kent R. Spillner

unread,
Jan 5, 2022, 11:50:41 AM1/5/22
to ledge...@googlegroups.com
> I will admit to populating my ledger file with say my most common transactions.
> So the power bill, the phone bill, the ISP bill and the like.
> This means that for 2022 there are some 6 bills already entered.
> Now when the actual information is entered there are changes - - - sometimes
> the date (sometimes that doesn't change - - - grin!), the amount and the
> payee. Then there are the times I find an invoice in the wrong place - - - so
> it was paid in say April and I find it in October and then its time to
> enter the information. It might be challenging to maintain a consecutive
> numbering scheme.
>
> Any ideas?

I *don't* do this (neither what you describe above nor what I describe here) but
I think you could use transaction state: https://www.ledger-cli.org/3.0/doc/ledger3.html#Transaction-state

Something along the lines of: when you receive the statement, or if you know it's
always dated the first of the month, just tag it as pending (i.e. '!') and set
the code to something like "(#TBD)". When you pay the bill later, or get
around to updating your ledger, update it with the actual id number from the
invoice or the canceled check number, and also update the state to cleared
(i.e. '*'). At any time you could run a report with --pending to see the list
of transactions you still need to update.

If the order id numbers are something you are responsible for generating, I
wouldn't try to make ledger responsible for generating/maintaining them. I
would use something else external to ledger to generate those, and then just
copy those into ledger. But that's not something I currently have to worry
about, so I am not talking from personal experience.



Reply all
Reply to author
Forward
0 new messages