Invoice Importer
Mike Evans
mikee at saxicola.idps.co.uk
Wed Jul 21 06:17:45 EDT 2010
On Monday June 14 2010 22:31:39 Mike Evans wrote:
> On Monday June 14 2010 16:58:37 Derek Atkins wrote:
> > Hi,
> >
> > Mike Evans <mikee at saxicola.idps.co.uk> writes:
> >
> > [snip]
> >
> > >> > New patch seems to work fine.
> > >>
> > >> Excellent. Does this mean it can be merged into gnucash before 2.4,
> > >> or does the string freeze prevent that?
> > >
> > > Really not sure. It's not my code, it's Sebastian's, although I have
> > > a patch for it to fix some minor issues. I think it could be further
> > > augmented to give more flexibility too. As a user I can write a
> > > script to massage any sales application exports to suit the format. I
> > > guess the string freeze will be an issue too as, it would need the
> > > strings to be made translatable and accepted into trunk. Again, not
> > > my code even though it's GPL. It has a fixed csv field sequence so
> > > may not be universally useful. I have no idea whether Sebastian wants
> > > it included in the build, or whether the devel team want it included,
> > > or whether my patches (unfinished) to the patch are acceptable. I
> > > suggest you try it out and mail here with your views. That
> > > presupposes that you are able to compile from sources. Use a backup
> > > data file for testing obviously.
> > >
> > > It's written as a plugin and I'm not sure if plugins are part of the
> > > core code or what the procedure is for including them is, although it
> > > does require changes to configure and some makefiles.
> >
> > Many plugins are still part of the core code.
> >
> > As for the string freeze.... That's a good question. I think it would
> > be up to Phil to decide what to do, but more likely it's missed the
> > train for 2.4.0.
> >
> > > Mike E
> >
> > -derek
>
> I thought it may too late. More time to get it right then.
>
> Anyway, if anyone is testing this.
>
> I've made a patch to fix:
> 1. Invoices are created in GnuCash even though there is a invoice with same
> number already existing. The patch asks if you want to update the existing
> invoices with new rows. This may not be the ideal behaviour but it is
> better. behaved. Alternatively it could just ignore any lines with
> existing numbers but this way you can just stop the import and
> re-examine|edit the csv. You're asked only once per import, not once per
> line.
> 2. Previously posted invoices are ignored.
> 3. Lines in the csv with a # at the start are now ignored as comments.
>
> The csv line format is:
>
> id,date_opened,customer_id,billing_id,notes,date,desc,action,account,quanti
> ty,price,disc_type,disc_how,discount,taxable,taxincluded,tax_table,date_pos
> ted,due_date,account_posted,memo_posted,accu_splits,
>
> Compulsory entries appear to be: id, date_opened, customer_id, price
>
>
> Apply this patch after applying Sebastian's patch.
I've now written a bill/purchase order importer for the reasons I've
previously mentioned. Basically, it's slightly adapted Sebastian's code so I
hope he's OK with that. Recent changes in the gnucash code seem to have
broken it, so I've fixed that too. Since it's not actually in SVN yet, I think
the best thing to do with it is to open a enhancement-bug and post it there.
As Derek says, it's likely too late to include a new feature into 2.4.0 but
interested (?) people can test it and use if they want this functionality.
To recap. I often make purchases of electronic components with often 30-50
lines in the purchase order. Some of the PO is for stock (assets?), some for
a specific project(expense or stock?) and some of it may be tools (assets).
Manually re-inputting a PO into gnucash is a PITA and since most vendors offer
a order download in CSV format a better solution is wanted. With a simple
Python script to massage their CSV into the correct format the import becomes
trivial and each PO line can be manually assigned to the correct account.
Mike E
--
GPG Key: 1024D/050895C2
Keyserver: http://pgp.mit.edu/
Search String: 0x050895C2
More information about the gnucash-user
mailing list