I am trying to make Tryton “work for me”, but am unsure about which parts are just usage problems, or for which parts, I should look at developing code, and what kind of code.
Q1: I would like to have customer-specific numbers. So far, I understand that a “Party” is a customer if I create a sales invoice to them. I found an old thread about adding customer specific fields, like their EU VAT-Id etc., and I would need a text field for the customer, too. Is modifying the ‘Party’ model still the way to go, or could it work in a different way?
Q2: I would assume that I need an additional table in the database to hold the relevant information, eg.
class PartyAdditionalInfo:
party_id = Integer, # referencing the table which has the addresses
field_name = String, # eg. 'EU VAT Id"
field_value = String # eg. "DE1234567890"
or, in my most urgent case,
field_name = 'Invoice Prefix'
field_value = 'ABC' # varies per customer
and
field_name = 'Last Invoice Number'
field_value = '123' # or whatever the customer had
so that the next invoice will have an invoice number of, say, ‘ABC000124’.
Q3: Date Invoices on NBD
Irrespective of when I create an invoice, I would like to have it being issued on the next business day. I would also like the payment terms to be calculated on the invoice date. Lastly, I would like those invoices be emailed on the date specified on the invoice. I have no idea where to start solving this problem, but it would be bad to eg. write invoices on a Saturday and have them come due on a Saturday, too, as my customers tend to be businesses which only work five days a week, and it would make their payment period one day shorter, which is undesirable, too. Or I’d need to have weird payment terms to compensate for that, which is also undesirable.
Q4: Perform Elster declarations
In Germany, we need to declare VAT electronically, and I would like to have this process automated. I have seen that there is already a SEPA module for interfacing with banks, but there does not seem to be anything for Elster - right? Wrong? If there is no such module, I expect to need to write one. But I have no idea about this topic, yet, and for some odd reason, the Elster guys require registration as a developer before letting me see the specs.
I found two tutorials, Home · coopengo/tryton-training Wiki · GitHub and http://hg.tryton.org/training/ . Are these still recommended, or what should I be looking at, short of sifting through the entire source code? Thank you!