Indian Tax Codes In-built

This is an update to all Indian users of Manager.

The version 17.7.55 of Manager has been released by the admin with the Indian GST tax rates in-built as default tax codes.

The users can make use of these in-built tax codes and can avoid the use of custom tax codes.

I am writing this in case the users do not make a lot of transactions with custom tax codes and have to do backlog work later with the in-built tax codes.

The in-built tax codes serves the purpose of automatically changing the invoice title to Tax Invoice without the need to use a custom theme to achieve the same.

PS:

For those users who are using the custom theme I provided earlier in the above post, you may use the below custom theme which has been modified to suit the in-built tax codes.
THE INSTRUCTIONS REMAIN THE SAME AS POSTED IN THE ABOVE POST. SO NEW USERS MAY PLEASE REFER IT BEFORE USING THIS CUSTOM THEME.

<table style="padding: 20px 20px">
<thead>
    <tr>
        <td colspan="99">
            <table style="margin-bottom: 10px"><tr>
                <td style="font-weight: bold; font-size: 32px">{{ title }}</td>
                {% if business.logo != null %}<td style="text-align: right"><img src="{{ business.logo }}" style="max-height: 100px; max-width: 300px"></td>{% endif %}
            </tr></table>
            
            <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 == 'Tax 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 == 'Tax 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 == 'Tax 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>
</thead>
<tbody>
    {% assign i = 0 %}
    {% for row in table.rows %}
    {% assign i = i | plus: 1 %}
    <tr>
        <td style="width: 25px; padding: 5px 5px; border-left-width: 1px; text-align:CENTER">{{ i }}</td>
        {% for cell in row.cells %}
        <td style="padding: 5px 10px; text-align: {{ table.columns[forloop.index0].align }}; border-left-width: 1px{% if forloop.last == true %}; border-right-width: 1px{% endif %}{% if table.columns[forloop.index0].nowrap %}; white-space: nowrap; width: 80px{% endif %}">{{ cell.text | newline_to_br }}</td>
        {% endfor %}
    </tr>
    {% endfor %}
    <tr>
    <td style="width: 25px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px"></td>
    {% for column in table.columns %}            
        <td style="padding: 1px 1px; {% if forloop.last == true %}; border-right-width: 1px{% endif %}; border-bottom-width: 1px; border-top-width: 1px; font-size: 1px">&nbsp;</td>
    {% endfor %}
    </tr>
    {% for total in table.totals %}
    <tr>
        <td colspan="{{ table.columns | size }}" style="padding: 5px 10px; text-align: right{% if total.emphasis == true %}; font-weight: bold{% endif %}">{{ total.label }}</td>
        <td style="border-left-width: 1px; white-space: nowrap; border-right-width: 1px; border-bottom-width: 1px; padding: 5px 10px; text-align: right{% if total.emphasis == true %}; font-weight: bold{% endif %}">{{ total.text }}</td>
    </tr>
    {% endfor %}
    <tr><td colspan="{{ table.columns | size | plus:1 }}" style="border-right-width: 1px; border-top-width: 1px; border-bottom-width: 1px; border-left-width: 1px"><div style="font-size: 12px; padding-left: 10px; padding-right: 10px; font-weight: bold">{% for field in custom_fields %}{% if field.label == 'Total in words' %}{{ field.text }} Only</div>{% endif %}{% endfor %}</td></tr>
    {% for field in custom_fields %}
    {% if title == 'Tax Invoice' %}
    {% if field.label != "Notes" %}{% continue %}{% endif %}
    {% endif %}
    <tr>
        <td colspan="99">
            <div style="font-weight: bold; padding-top: 20px">{{ field.label }}</div>
            <div>{{ field.text | newline_to_br }}</div>
        </td>
    </tr>
    {% endfor %}
</tbody>
<tfoot>
<tr>
    {% if title == 'Tax Invoice' %}
    <td colspan="99">
        <div style="text-align: right; font-weight: bold">We declare that this invoice shows the actual price of the goods or<br>service described and that all particulars are true and correct.<br><br>For {{ business.name }}<br><br><br><br>Authorised Signatory</div></td>
    {% endif %}
</tr>
</tfoot>
3 Likes

Please advice how to revert to the new system without affecting the manually created tax codes / transactions already posted. I have a few journal entries also.
Also I am using different accounts as IGST, CGST, SGST and have set them manually to update from the tax codes instead of the default Tax payable so that I get all the details. ( Will I be able to get the details individually if I revert to the default tax codes and keeping the account tax payable for all of the codes. )

Waiting for your reply.

If you use the in-built tax codes, all tax transactions will post to Tax payable. You will not see individual detail as you can when creating custom codes and assigning them to their own accounts. But some reports will break things out by tax code.

There are so many things involved, the only way for you to know for sure if you are getting what you want is to add a test business and set it up. Enter a few transactions typical of your business and examine their effects, including on reports.

If I continue to using my custom TAX Code then is there any problem??

Actually I don’t understand your sentence

mainly what you mean by, Some Reports will Break Things?

I did not say “some reports will break things.” I said, “…some reports will break things out by tax code.” In other words, some reports will separate information by individual tax code rather than the combined tax code. This assumes you are following the procedures described in this Guide. For example, if you are paying different tax authorities at different times for different components, your cash payment records will be posted to the accounts for the individual components rather than to Tax payable. That may or may not be useful to you.

hi the code is really helpful.

but while i generate the pdf or printout there is a gap between total amount in words and the declaration. i was running on 17.10.29 and i update to 17.10.80 but the issue still exist.

also there is an extra box below the item list which is not really needed.

and i would be happy if i could delete the due date option.

hope you people can help. peace

:slight_smile:

You are obviously using a custom theme that you created yourself. Issues with themes you create do not constitute problems with the Manager application.

This is not a coding forum. If you do not personally have the coding skills to create the theme you want, you should hire a local programmer who does.

the theme was programmed to show these intentionally. if you do not need it you can customize the theme yourself or hire someone locally to do it for you if you personally do not have the skills.

search the forum. solutions have already been provided.

I found the code in this thread only.

Its a Custome Made Code By some User, Not By Manager Team. So If possible Use any theme from Manager. Link as bellow.

and if you want to use Custome theme, then you have to know the coding or do it by some local programmer.