PDF invoice issues (Translation/Localisation/Currency-Formatting)

Hello @hillel,

in 5.1.7 I tested different Currency-Settings: The currency selection does not correspond to the chosen language: for DE it schould be Symbol: €1.000,00 or Code: 1.000,00 EUR (not 1,000.00…).

Bildschirmfoto 2021-02-22 um 16.21.48

When using the €-Symbol it is prefixed with no space in front of the number in the UI but postfixed in the PDF, which leads to quirky linebreaks (e.g. template “Plain”):

Using the EUR-Code looks fine but should be bound to the number via non-breakable-space.

There are some untranslated/unlocalized items/formattings due to the fact, that there is work in progress before release, right?

I created a invocie for one project an realized, that here is currently not option to include the project-name, and the generated project-name/number (={$client_id_number}_{$client_counter}. Is there a way to access these variables via invoice designer or a list, where I can look up (except from those shown in the designer). I am sure, you have an idea.

@david thoughts on this?

@cdahinten thanks for the detailed feedback, clearly some things we need to fix there, I’ll add in those additional variables. I don’t think the $client_counter will be possible as it isn’t saved separately, but combined into the invoice number, however $client_number can be added.

@ben

Can you think of a solution which will not do a line break for the currency codes? I think we’ll need to prioritize any currency columns to full width?

@hillel account_balance isn’t translated in the app so the en version is displaying

I assume the fix for account_balance would be on the backend?

yes, we just need to wait for the translations

@david, would it be helpful to contribute here – or does this belong to 4.5 release?

Hello @david, this would be great to have at least the projekt-name and the project-number (which is set (={$client_id_number}_{$client_counter} on the invoice.

Due to the fact that all communication (E-Mail/Chat/Fileserver) is channeled with this unique identifier e.g. GFBH_00345. This is the identifier which helps the client to keep track over the invoiced projects – not the timetracking logs / task listet.

Can you give me an signal, when there is something I can test?

@cdahinten

Yes, if you update the translations for your languages there we will pull these into the codebase :slight_smile:

@cdahinten

I am going to tag a new release shortly.

I’ve fixed the date translations, and we are working on the remaining issues.

Also, I have updated the documentation to list ALL the available variables that can be used inside the invoice design.

Note, $client.number is probably the variable you are looking for to replace $client_counter

I’ve also included $project.name and $project.number

https://invoiceninja.github.io/docs/custom-fields/

2 Likes

@david, brilliant! The custom-fields will do the trick. Thank you.

1 Like

Hello @david, I recently updatet to 5.1.10 and checked the custom field functionality for $project.name and $project.number, but it seem not to work. Do you have any suggestions, why?

I put these in the Designer Content:
Bildschirmfoto 2021-02-26 um 17.44.54

Results into this:

Bildschirmfoto 2021-02-26 um 17.45.04

In the regular generated invoice the variables appear unparsed.

@cdahinten i think the issue is that the variable isn’t matching because it is joined to another variable can you try with it separated?

Hi @david, I have tried without success these variations – all without bouding those two with underscore:
$project.number $project.name
“$project.number” “$project.name”
$project_number $project_name
“$project_number” “$project_name”
Does it work on our side?

@cdahinten I see the issue, we aren’t linking the project_id to the invoice, we’ll need to put a change into the AP to support this.

1 Like

Hi @david,
fixing this issue would be highly appreciated by me. All my business environments with design- and advertising agencies but also freelancers refer – when sending a project invoice – to the unique identifier (=project-no) and the project name like concepted in the generated numbers section. It is the only trace for the client to verify the tasks on their invoices. It should even be a part of the default templates.
Pulling 5.1.12 today there are no changes for now. Please let me know what you think on that issue.

@cdahinten After talking with @hillel about this, I don’t think it will be possible to support a direct project variable. the reason is because an invoice can be linked to many tasks which may belong to different projects.

Are you able to use a custom field to display the information you need? then you can use the variable

$invoice.custom1

In place of the $project one.

hi @david,

I fully agree with your reason for not supporting the project variable (as custom field in invoice-head) on invoices because it could not be clear set when times/task can be project-based times or client-based. (By the way: I can even add tasks with no customer and project assignment).

Tested the $invoice.custom1 workaround and consider how to minimize errors in setting (copy-paste) the project name and project number into that field. Would it be technically possible to make the use of customfield variable surcharging the custom field (e.g. Project)?

Nontheless: I can not reproduce the scenario. When I create tasks and assign them to a client I can only invoice those task when creating a new invoice, no other project-assigned tasks are possible. The other way round I can only select or pull task into the invoice which belong to that project. For that reason I assume the $project.name and $project.number should be set, unique and valid, – when user triggering “invoice project” – because only those tasks appear and are selectable. Different to the scenario, where I create a blank invoice adding non project assigned tasks.

Another way, to give the project-related information back in the game could be possibly this:
Allow the Task-Table Wrapper to be customized like:
{"Project: "&$project.number_$project.name} {“Descr:”&$task.description …} {“Date”&task …} time …

I can’t think of a way to do this cleanly, @hillel @ben any thoughts?

Are you using the tasks module at all? It’s possible we could support linking projects directly to invoices when tasks aren’t used.

I agree with Hillel, that’s the only way I see this working.