Troubles on changing invoices

Hi,

I just noticed a very big troubles on invoices : when adding a payment for an invoice, this invoice is updated so the total is changed :frowning:
Regarding the French law, an invoice can not be changed after its creation date !!!

For example, an invoice for 800€ is created on April 14th.
Client pay by bank transfer on April 20th.
On April 27th, I add a payment for this invoice at April 20th date.
So on invoice is updated (and that’s the big problem) :

  • a line is added, saying “Payed a that time” = 800 € (sorry if wrong translation)
  • total is changed = 0 €

So the invoice has been changed on April 27th, but invoice date is still April 14th.
And “payed at that time” does not precise the payment date.

Please find a way to LOCK invoices.
Because French companies can have troubles because of that.

Right now, I can not use Invoice Ninja, so waiting for a fix to send my waiting invoices.

Regards

After a payment is entered the invoice total should remain the same however the balance due is changed to 0 to reflect the payment.

Maybe it’s a problem with the translation?

Saying “total”, I actually mean “Balance due” (there is no total line on invoices, only a sub-total line).

In France, it is not possible that invoices are changed after date of their creation.

So please find a way to make the app compatible with french law, and add an option to lock invoices.
The balance due can not change after payment (except for credits made before invoice creation).

We have many users in France, I’m surprised no one else has mentioned it.

It should be possible to make this change using a custom design, which design are you using?

Sure, I also know friends (in France) using the app.
But they just create their invoices and download them, then they add it as a file attached in emails.
Their clients do not access to portail (so do not see any updates on invoices).

I used a custom design, based on Clean design.

Here’s the code to change in the custom design:

A few notes:

  • This change will prevent the balance due from changing to 0 however the paid to date will be updated to reflect the payment.
  • You may also want to change the displayed invoice fields on /settings/invoice_design#invoice_fields

From:


  {
    "columns": [
      "$notesAndTerms",
      {
        "table": {
          "widths": [
            "*",
            "40%"
          ],
          "body": "$subtotals"
        },
        "layout": {
          "hLineWidth": "$none",
          "vLineWidth": "$none",
          "paddingLeft": "$amount:34",
          "paddingRight": "$amount:8",
          "paddingTop": "$amount:4",
          "paddingBottom": "$amount:4"
        }
      }
    ]
  },

To:


  {
    "columns": [
      "$notesAndTerms",
      {
        "stack": [
          {
            "table": {
              "widths": [
                "*",
                "40%"
              ],
              "body": "$subtotalsWithoutBalance"
            },
            "layout": {
              "hLineWidth": "$none",
              "vLineWidth": "$none",
              "paddingLeft": "$amount:34",
              "paddingRight": "$amount:8",
              "paddingTop": "$amount:4",
              "paddingBottom": "$amount:4"
            }
          },
          {
            "table": {
              "widths": [
                "*",
                "40%"
              ],
              "body": [
                [
                  {
                    "text": "Total",
                    "style": [
                      "subtotals"
                    ]
                  },
                  {
                    "text": "$invoice.amount",
                    "style": [
                      "subtotals"
                    ]
                  }
                ]
              ]
            },
            "layout": {
              "hLineWidth": "$none",
              "vLineWidth": "$none",
              "paddingLeft": "$amount:34",
              "paddingRight": "$amount:8",
              "paddingTop": "$amount:4",
              "paddingBottom": "$amount:4"
            }
          }
        ]
      }
    ]
  },

Hi,
It works for Total line : final amount remains the same after payment.

But there is still a problem : after payment, something is added on invoice.
A “Paid to date” line is added.

Regarding the French law, when an invoice is send to the client (and/or if client has seen invoice, here on the portail), that invoice can not be changed.

I understand the “Paid to date” line works for both payments and credits.
And that is where the problem comes from.
It is ok for credits (because law does not accept changes on invoices, so for refund, French companies have to create a credit and apply it on a new invoice).
But the payment can not change the invoice.

Could we find a solution for that?
It’s a big concern.

If you aren’t charging taxes/surcharges then you could remove the subtotals section just leaving the total.

If you are charging taxes then you may want to set a BCC email address and attach the PDF to emails so you have a static version of the PDF file.

Well, if I choose your app and paid for pro version, it was in order to save time by sending invoices directly from the app, sending reminders and allow customers to pay by credit card directly.

I understand it can be complicated to adapt your app to different countries laws.

But I am sure this issue is important for other companies in my country.

For information, French law has undergone major changes lately.
Regarding billing, from January 1st 2018, all companies and freelancers charging tax have to edit invoices with a software (and this software must be compatible with French billing laws).
Most of small companies and freelancers does not have accounting software, and they they are updating themselves during this 2018 year.

Can not remove subtotals, because of taxes and discount.

Could it be possible to remove “paid to date” line ?
(credits will not work anymore, but I could still add a product with negative point instead)

Sorry, it isn’t currently supported.

Feel free to create an issue on our GitHub repo to track the request.

https://github.com/invoiceninja/invoiceninja/issues

Ok. That’s a pity.
Thanks for your time anyway.