Trace order amendments through invoice lines and generate legally compliant invoices

Hello everyone, here is the latest summary of updates to make to invoices: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

Seems like the best thing here @tschumilas would be to deal with those 2 things as papercuts rather than complicating the changes to invoice process

@selma: Is the Notion document meant to cover all required changes to have legally compliant invoices or is it just covering the amendments part?
Just asking because there are more open issues, I think. For example

My notes after a brainstorming session with @lin_d_hop on this topic:

  • the previous tech solution would imply to generate invoices at each amendments, which could blow up as users are editing orders heavily (orders are often treated as pre-orders)

  • we need to think about buttons enabling users to generate invoices when they are ready. Invoices would only be generated or re-generated through this action.

  • a new menu would be introduced in the right-hand menu of the edit orders page. Basically a tab listing all invoices for this order (when an invoice is generated and there has been edits to the order, the previous invoice is cancelled and a new one is generated / referencing the old one. If no edits we don’t re-generate an invoice). This menu allows to generate, cancel, view and download.

  • Bulk invoice printing can generate invoices according to the above rules or just read from the stored invoices.

  • Sending invoices per email won’t generate invoice however: we need to simplify and avoid having several places to generate invoices. It’s perhaps out of scope, but if we start storing invoices, maybe we can display them in the customer account and send a link instead of sending them attached in mail. To be confirmed, but this could ease sending the email in bulk.

  • When doing this we need to introduce at some stages a confirm modal (as cancelling a previous invoice e.g. is not a light choice) - just adding this as a reminder

  • Invoice number: perhaps out of scope (dealt in separate feature) but we will need enterprises to be able to choose their invoice prefix (in settings). From there, all invoices from this enterprise have the same prefix and a sequential number.

These ideas will need to be confirmed / checked with a dev when we are ready to pick up new work.

When we will reach this stage I will move this as new issues in github, with the rest of small issues we might tackle at the same time. Note to myself: it could be worth looking into merging both invoice template while we are at it… as it will be a headache to adapt both template if we need to mention some history. But let’s not get too excited about this yet, this will need a deeper analysis.

This sounds so awesome!! Just noting that in Canada our hubs seem to prefer emailing invoices over re-sending order confirmations after editing orders. I don’t know why - will think on that and talk to some hubs on process. (Because this is where the desire to bulk email invoices comes from… maybe I need to better understand how these hubs work.) Second to note - I know that hub customers under-use the customer accounts feature. Again - note to self to ask some users why - because personally I think its a great feature. And I personally like parking access to invoices there… but right now, no one here would use it I’m afraid.

Post Script to this after some discussions with large hubs - the reasons customers often don’t use their customer account to access their invoice, is because they can’t figure out how to print anything from their OFN account. Some use print screen - but many don’t know about that. Many customers want a pdf to store or download -especially wholesale customers (who need these for taxes…). So - longer term option (I know it could be out of scope here) to make it possible for customers to print invoices rather than the hub manager emailing them is a useful long term plan.

1 Like

My notes after the meeting with @abdellani @jibees and @filipefurtado :

  • The work will be done step by step against a feature-toggle. First step will be to be able to generate an invoice at the edit order level. We want to be able to do this on any completed orders. If the user re-generates the invoice, we issue a new invoice if the order was changed, if not we keep the previous invoice. This means we need to have an accurate updated_at date.

  • What do we consider order changes/amendments? => adding or deleting products, changing weight through BOM, editing quantities, adding adjustment, changing payment method, updating fees, adding a tracking number, adding a note, capturing payment. See this doc for last update: order attributes (invoices) - Google Sheets

  • Invoices are only generated when the user ask for them. No automatic generation. We can even disable the generate button in the order edit page if the order had no changes since the previous generation of invoice

  • Once the edit order page works, we can move on to Bulk invoice printing and after that to the feature that allows to send invoice per email. Once these 3 steps are done, the feature toggle can be removed

  • On these first steps, we will ignore the invoice number, this will be handled in a second release

Let’s move to github from now on. I’ve started this epic in wishlist, we can move to main repo as soon as we are ready to pick up the work:

Slack channel is #legal-invoices

At least we should be able to detect/define that an order has been edited (through the actions you mention below), and then either update the update_date column or update another new field/column.