Invoice internationalisation

We are working on the French version of the invoice so that it fits our local legal requirements (https://github.com/openfoodfoundation/openfoodnetwork/issues/1195)

I realize it might not only be a question of translating the invoice, might be to modify also the infos that goes in… should the invoice model for each instance be done specifically by the instance and “called” in the code when we click on “invoice”? Or should we think a general layout that enable everyone to put inside the info that are specific to the instance & enable the hub to put infos specific to the hub?

I propose the given layout:
https://docs.google.com/document/d/1OwMq_7asHvFZ6-WRNKWdkmCl-SV6xs2hu6tucizqgCA/edit?usp=sharing

@Kirsten @sstead I think it contains all the infos that are already in the current Aussie invoice. Would it be ok to make it evolve that way?
@CynthiaReynolds @NickWeir @lin_d_hop @tschumilas @sreeharsha would this layout for invoice be ok and flexible enough for your instance?

Or should we just make our own version for France in a localization file and import it?

Thanks for your feedbacks :slight_smile:
Ping @pierredelacroix

I think this is the necessary information for an invoice. I note that it contains a calculation of each type of tax separately - so that is perfect. Regarding the issue of ‘ship date’ versus ‘received date’ - generally in my experience, the receiver of the goods signs and dates the invoice as ‘goods received’. Because - maybe the receiver does not want to accept some of the goods (poor quality, mistake on the order…). So in that case, they might sign but note which goods were returned to the supplier. I don 't see a way to automate this ‘receiving’ progress - it is up to the receiver.

This looks really good. Thanks for all the hard work @MyriamBoure.
Having the opportunity to consolidate all of the invoices for a certain cycle or time frame into one file for printing would also be a value add-on. Is this something we should be integrating in this process, or is that something that is another issue altogether? I know that it would make our hubs weekly process easier, especially as we grow.

@tschumilas about the date of invoice, for me the invoice is printed/sent when the goods are received (if asked - for pick up) or sent with the goods in the basket if goods are delivered. I think if there is a problem on the invoice that can be managed through some form of void, so I guess we can start simple and just put the date of transaction = date of order.

@CynthiaReynolds I agree with you that’s definitely something needed. I’ll see if @pierredelacroix has the time to include that in the job, it’s not sure at all we will manage to include that in. What i can propose you is see with @pierredelacroix how much time he will need for that and if we have eaten all our budget in France, ask if Norway want to chip in for this small task?
I found here the community discussion on this Possibility to print several orders in one shoot so I opened a Github issue https://github.com/openfoodfoundation/openfoodnetwork/issues/1240, I add it to the French backlog and will let you know if we manage to include it :slight_smile:

@sstead let us know if this new version of the invoice is ok for Australia :slight_smile:

We will do our best to help fund that part :slight_smile:

Beautiful, yes, this meets the Australian tax invoice requirements. In Australia we need the words ‘TAX INVOICE’ on the invoice, so just confirming, we can add this by transifex at the top of the invoice?

Ok thank you @sstead I added a title to the file which in the en-file will be “tax invoice” and can be translated by any instance in Transifex :slight_smile:

1 Like

@sstead how is generated the invoice number on the Australian invoices?
Is there special rules on it?
Could we say that invoice number is like order number, maybe with a rule R+ordnernumber (I took a random letter inspired by the Australian invoice number)
I know for Norway it is supposed to be a series of number but I guess the orders are a series of numbers (is it right) so the invoice number would be then following that logic.
Ping @pierredelacroix

Ok it seems to be the same number, so how is generated the order number? @CynthiaReynolds will it be ok if we keep invoice number = order number, in Norway?
In the first version we just put the same as it is currently, we can make it evolve later if need be.

Precision: as for the moment the fact that the price includes or not VAT is determined by the instance for the whole instance, @pierredelacroix has in the invoice taken this info to display if prices are “with or without VAT”, that will need to be changed when the overhaul on tax happens

I will need to get more informed to answer this properly, but for a first version, this should work fine.

Hi @MyriamBoure legally in Aus the invoice number doesn’t need to follow any kind of sequence, so using the order number is fine for now. One day users might like to be able to set invoice numbers, to match their accounting system, but this isn’t urgent.

Awesome :slight_smile: ping @pierredelacroix

Ok so here we are, that’s what it looks like :slight_smile:
invoice-R025235287(2).pdf (70.8 KB)

We have added some “customizable text” on the invoice and the possibility to add your logo. We are not sure where to put that in entreprise menu, we put in “about us”, but what do you think @sstead ?


We have the case in France, a “self-employed people” under certain turnover is exempt from VAT and need to put an official mention on the invoice. I guess it can be useful for everyone to have this anyway.

Sorry this version is in French, but it will be in your own language translatable in Transifex.
If Products are linked to a tax category which is “including VAT”, the mention “incl. tax” will be shown and the first total price will be the one incl.tax. Reverse if the contrary.
We have taken the assumption from now that in an order cycle all products where either including or excluding tax. We will need to review that when we review the whole tax stuff (ping @oeoeaio for memory) . Today the fact that prices include VAT or not is set up for the whole instance so this is not an issue, but when users can decide to fill in their prices incl. or excl. VAT we will need some more complex calculations to happen :slight_smile:

Some precisions: if ABN/ACN fields or equivalent (here SIRET and n°TVA) are empty they don’t display
I replaced the email, don’t pay attention :wink:

What about having an own submenu called “Invoices” instead of putting it in “About Us”?

It’s simpler not to create another tab in the menu, but maybe it would fit better in “entreprise details”, after the official numbers and “TVA scheme or not”, we ask things on the invoice, which is also legal stuff… does it sound ok like that?

I understand. Well I would still suggest a new submenu but I won’t block any way forward :slight_smile:

@sstead any view on that? Should we create another submenu? I’m afraid we start to have too much… another option would be to add the checkbox “display logo on invoices” in the “image” menu below the logo image, and the invoice customization text in “entreprise detail” that we could rename something like “legal infos”?

I think ‘Business Details’ is a logical place to put this. There is one disadvantage- this menu item shows to ‘profile only’ users. Invoice details aren’t relevant to them, so it’s preferable that they don’t see this setting. Therefore, perhaps putting it in Shop Preferences (which is quite full already) or in a new tab is better. Could we condense another menu tab to stop the menu getting too long? E.g. Put Contact and Social together?.. Or can we make some settings within the Business Details tab only show IF the user has a shopfront?