Anatomy of India's New GST Invoice Format

I already attached link to the post in my previous reply…

1 Like

Thanks, Let me get that…
I have made some designing with my limited knowledge and I have to re-do the same. :frowning_face:

Hi, I liked this new template created by you . Can u please help me to get rid of that shipped to column from the Invoice as my LOB is Consultancy Service and i do not require that. Your last template prior to this was also perfect just the amount was showing in figures at the top which has been resolved in this template.

Please help

@YashSingh, @anoopchintu, @patel8795, and others. Before writing your own custom templates to implement the new GST scheme in India, you should first determine whether recent improvements to Manager deliver what you need. See this new Guide: Guides | Manager.

1 Like

Ship To is missing and is a legal requirement.
Place Of Supply not available. If additional custom fields are created they all show in the bottom left hand side one below the other. ( These should be shown on top in a vertical line somewhere inbetween ).
Please help.
Note : All Indian users will have to create more custom fields and they all will elongate the sales invoice and will show on the left bottom corner. ( Shifting them to the top will help and improve presentation ).
Thanks in advance.

Please help changing the location of the custom fields. ( Moving them in a more organised manner so that they use less space and don’t elongate the Invoice). The best fit suitable as per your choice.

If you want to customize the look of an invoice, that is really up to you. If you don’t have the coding skills personally, hire someone locally to write the code for you. Please do not impose on other forum members to satisfy your personal preferences for document design.

Right now, the only way to control presentation of custom fields is through custom theme. I do plan to improve custom fields further so you can have them shown side-by-side in more compact way without using custom theme… so either modify custom theme or wait for improvements.

2 Likes

Very thanks for complete guide with all the details.

You can remove 2nd one by your custom template html code. Just remove it which is not required.

when I used this code I faced a different issue
when the custom field shipped to is left blank it is working fine , i.e it is Populating the Shipped to row with the buyer’s details .this is fine.
but the issue is when I am entering data in the custom field then in stead of showing only the new data provided it is also showing the data which is supposed to be shown when the custom field is left blank

Make sure you created everything as per the instructions.

Especially the custom field header spelling should exactly match Shipped To:


using the above code this is what happened
Shipped to coming twice
one from the data entered in the custom field and the other from the buyers details
I need urgent help in resolving this issue
PLEASE HELP

from which post did you copy the code?

see the post below.

The field header is in order and I followed the instructions I didn’t tamper with the code and got this result
This is the code I copy pasted from the Forum
indent preformatted text by 4 spaces

{% assign i = 0 %} {% for row in table.rows %} {% assign i = i | plus: 1 %} {% for cell in row.cells %} {% endfor %} {% endfor %} {% for column in table.columns %} {% endfor %} {% for total in table.totals %} {% endfor %} {% for field in custom_fields %} {% if title == 'Invoice' %} {% if field.label != "Notes" %}{% continue %}{% endif %} {% endif %} {% endfor %} {% if title == 'Invoice' %} {% endif %}
{% if business.logo != null %}{% endif %}
{% if title != 'Invoice' %}{{ title }}{% endif %}{% if title == 'Invoice' %}{{ title | replace: "Invoice", "Tax Invoice" }}{% endif %}
        <table style="margin-bottom: 20px"><tr>
            <td style="width: 200px; border-left-width: 5px; padding-left: 10px; text-align: left">
                {% for field in fields %}
                <div style="font-weight: bold; font-size: 12px">{{ field.label }}</div>
                <div style="margin-bottom: 10px; font-weight: bold; font-size: 16px">{{ field.text }}</div>
                {% endfor %}
            </td>
            {% if title == 'Invoice' %}
            <td style="width: 260px; padding-left: 20px; border-color: #000000; border-left-width: 1px">
            {% for field in custom_fields %}
            {% if field.label == "Shipped To:" %}{% continue %}{% endif %}
            {% if field.label == "Notes" %}{% continue %}{% endif %}
            {% if field.label == 'Total in words' %}{% continue %}{% endif %}
            <div style="font-size: 12px; padding-bottom: 10px"><b>{{ field.label }}</b> {{ field.text | newline_to_br }}</div>
            {% endfor %}</td>{% endif %}
            <td style="width: 300px; padding-left: 10px; padding-right: 5px; text-align: left; vertical-align: top; border-top-width: 3px; border-bottom-width: 5px">
                <div style="text-align:LEFT;font-weight: bold;font-size: 18px">{{ business.name }}</div>
                <div style="text-align:LEFT;font-size: 12px">{{ business.address | newline_to_br }}</div>
                <div style="text-align:LEFT;font-weight: bold;font-size: 14px">{{ business.identifier }}</div>
            </td>
        </tr></table>
        <table style="margin-bottom: 20px">
        <td style="width: 380px; text-align: left; border-color: #000000; border-bottom-width: 2px; border-top-width: 2px; border-left-width: 2px; border-right-width: 2px">
            {% if title == 'Invoice' %}<div style="padding-left: 5px; border-bottom-width: 2px; text-align:LEFT;font-weight: bold">Billed To:</div>{% endif %}
            <div style="padding-left: 20px">
            <div><b>{{ recipient.name }}</b> {{ recipient.code }}</div>
            <div>{{ recipient.address | newline_to_br }}</div>
            <div><b>{{ recipient.identifier }}</b></div></div>
        </td>
        {% if title == 'Invoice' %}
            <td style="width: 375px; padding-left: 5px; text-align: left; border-color: #000000; border-bottom-width: 2px; border-top-width: 2px; border-left-width: 0px; border-right-width: 2px">
                {% for field in custom_fields %}{% if field.label == 'Shipped To:' %}{% assign consignee = field.text %}
                <div style="padding-left: 5px; border-bottom-width: 2px; text-align:LEFT;font-weight: bold">{{ field.label }}</div>
                <div style="padding-left: 20px">{{ field.text | newline_to_br }}</div>
                {% endif %}{% endfor %}
                {% if consignee == null %}
                <div style="padding-left: 5px; border-bottom-width: 2px; text-align:LEFT;font-weight: bold">Shipped To:</div>
                <div style="padding-left: 20px">
                <div><b>{{ recipient.name }}</b> {{ recipient.code }}</div>
                <div>{{ recipient.address | newline_to_br }}</div>
                <div><b>{{ recipient.identifier }}</b></div></div>{% endif %}
            </td>
        {% endif %}
        </table>

        <div style="font-size: 14px; font-weight: bold; margin-bottom: 20px">{{ description }}</div>
    
</td></tr>

<tr>
    <td style="width: 25px; font-weight: bold; padding: 5px 5px; border-bottom-width: 1px; border-left-width: 1px; border-top-width: 1px; text-align:CENTER">#</td>
    {% for column in table.columns %}            
    <td style="font-weight: bold; padding: 5px 10px; text-align: {{ column.align }}; border-left-width: 1px; border-bottom-width: 1px; border-top-width: 1px{% if forloop.last == true %}; border-right-width: 1px{% endif %}{% if column.nowrap %}; white-space: nowrap; width: 80px{% endif %}">{{ column.label }}</td>
    {% endfor %}
</tr>
{{ i }} {{ cell.text | newline_to_br }}
{{ total.label }} {{ total.text }}
{% for field in custom_fields %}{% if field.label == 'Total in words' %}{{ field.text }} Only
{% endif %}{% endfor %}
{{ field.label }}
{{ field.text | newline_to_br }}
We declare that this invoice shows the actual price of the goods or
service described and that all particulars are true and correct.

For {{ business.name }}



Authorised Signatory

From your invoice image it is clear that you have not spelled the header correctly.

It is Shipped To: and not Shipped To . You missed the colon.

Yes I copied the code from this post
and got the above result
please help

Thak you @sharpdrivetek
yes it worked I missed the colon
Thanks again :slight_smile:

Hello Mr. Patel
can you share HTML Code about this formate??

yes why not

there is problem to post html code enter your mail id