GST Readiness India

Hi,

I would like to know how GST-ready ERPNext is. Maybe we can use this thread to have a discussion regarding implementation of GST.

I attended a GST session conducted by Tally recently in which they highlighted some features of Tally specific to GST.

  1. Since the first two digits of the GST number pertain to the state code, the software automatically detects whether a sale falls under Inter-state (IGST) or Intra-state (CGST + SGST) category based on the customer’s registration number

  2. GST requires invoice-level matching. So all invoices, from each supplier, need to be matched which might be impossible to do manually, especially in case of a large number of suppliers/invoices. Tally provides a triangulation report which takes care of this.

Preview of GST portal/documents
API approach link

Thanks

4 Likes

Yeah I guess we will have to do it sooner or later.

Sure we will need some custom fields (for GST IDs) and maybe some reports (for matching invoices), but I don’t see any major changes to the tax modeling (it will be similar to VAT)

Edit: Looking at it seems like such a stupid system. Why should the tax payer care about IGST or CGST or SGST, it should be the department’s responsibility to share and split the revenue!

8 Likes

Is there any update on GST readiness specially G2B connectivity. I feel it also may an opportunity for ERPNext as people will be looking for the accounting systems which are GST ready.

-Amit

It might be useful for someone to actually come up with a useful specification on what exactly needs to happen in ERPNext to make it “GST Ready”

1 Like

Firstly confirm, ERPNext is compatible for GST Compliance, how can i get update for GST in ERPNext. actually after GST implementation, please confirm, ERPNext will automatic update or you will assign any link to update GST.

I think GST is providing apis to communicate. More details of the implementation framework can be found in the document http://www.gstn.org/ecosystem/pdf/GSP_Implementation_Framework_V_3.0.pdf

A good site giving the information on GST is http://www.gstn.org/ecosystem/. I guess first ERPNext will have to become a GST suvidha provider to get access to the GSP server. GSP apis are RESTful, json based and stateless. So I guess that part should be compatible with ERPNext

1 Like

Thanks for raising this point.

From our perspective we would also require this functionality and would like to get the direction erpnext is taking in this regards as we would like to plan out or approach accordingly.

For the time being, we are adding the relevant taxes and updating print formats for GST. However, a deeper integration can really push ERPNext adoption.

I believe Frappe Framework and ERPNext are ready.

Consuming gst API should not be a problem at all.

  • App (Auth client - Frappe/ERPNext) is registered with Auth Provider (Govt.)
  • 2 step token / otp workflow for user (tax payer) login.
  • ERPNext has required models for reporting
  • CSV can be generated and Posted to API

Eligibility Criteria :
http://www.gstn.org/ecosystem/pdf/Eligibility_Criteria_for_GSPs.pdf

Eligibility - (familiar names in list)
http://www.gstn.org/ecosystem/pdf/Finals_from_Delhi_and_Bangalore.pdf

Can self hosting SMEs become “TaxPayerApp”?
Not right now.
I don’t think they’ll let every hosted instance of ERPNext register as separate app.

Update:

No extra library required, python cryptography is sufficient.

https://bitbucket.org/mntechnique/gst_api/src

I was able to explore their mock api v0.1 and authenticate. v0.2 needs registration.

7 Likes

How do we get access to this GST functionality in ERP Next and by when can it get rolled out? Is there any documentation available which can be followed.
Thanks for your above inputs

GST is at least a quarter away from getting launched. Probably more.

Everybody relax! ERPNext will be GST ready from day one!

Now will ERPNext do those filings from Day one. We can work those things out, but you won’t be left behind on GST with ERPNext.

Hope that helps!

Thanks

Jay

4 Likes

Right now GSTN is asking to fill a form (Google docs) for developer/sandbox access and they have an active community hosted on Google groups.

https://groups.google.com/forum/m/#!topic/gst-suvidha-provider-gsp-discussion-group/-KmWdUpN_ag

V0.1 was a mock api, for which I was able to consume authentication endpoints. Code shared for reference.

V0.2 is live API for developers but needs registration (mentioned above)

My understanding, there multiple parties involved.

  1. GSTN govt.
  2. GSP gst suvidha providers. (They register asp)
  3. Asp application providers (ERP/accounting software)
  4. Tax payer (One GSTN userid=one GSTIN)

How to register for using sandbox api?

https://groups.google.com/d/topic/gst-suvidha-provider-gsp-discussion-group/oP4WQJoxN14/discussion

Form: GSP/ASP User Creation Form for Sandbox

[quote]

Strictly only one and I request to all of you that do not sent us duplicate request. Please also be careful in giving email and phone no. Otp will go to these email and phone no only. It will be really difficult to manage email/phone change request.[/quote]

2 Likes

It is comforting to know that ERPNext will be ready from day 1. However as pointed out earlier and also by @revant_one that there are registration requirements that need to be fulfilled before ERPNext will be able to log onto the servers. We need to do that first and quick, if not already started, because we do not know how long will that take. One quarter looks like a long time, but with changes happening fast, we will need to be quick as always.

-Amit

1 Like

One thing missing in erpnext for GST compliance is that the State Field in the Address should be a Link field this would make the checking for GST number as per the State mentioned in the GST number very easy.

Also I think the GST number fields should be added in the Address doctype instead of the Customer doctype since the GST is State specific instead of customer specific.

Other than that I think erpnext is more or less ready for GST, just that someone has to take the lead to implement it in erpnext with all the API calls.

3 Likes

GSTN Forum discussion about state codes:
https://groups.google.com/d/msg/gst-suvidha-provider-gsp-discussion-group/zslLh3iw9w4/3M7uu-y9BgAJ

Recommended to use Data for states http://www.ddvat.gov.in/docs/List%20of%20State%20Code.pdf

example fixtures for GST States
https://bitbucket.org/mntechnique/gst_api/raw/cddfb35ed41416bfdb938b660d8fa8e4ae1f9730/gst_api/fixtures/gst_india_state.json

2 Likes

Thanks @revant_one for your leadership in this. Will be happy to work with you if you need any help.

3 Likes

There are 8 GST Returns

  • GSTR1 Outward Supplies - Sales Invoice (GSTR1A for counter party PI)
  • GSTR2 Inward Supplies - Purchase Invoice (GSTR2A for counter party SI)
  • GSTR3 Monthly Return
  • GSTR4 For Compounding Taxpayers
  • GSTR5 Non resident foreign tax payers
  • GSTR6 For Input Service Distributors
  • GSTR7 TDS
  • GSTR8 Annual Return

Components / Types of invoices expected to be separated for payload:

  • B2B - GSTIN holders (B2Ba for amendments in case of provisional assessment flag is “Yes”)
  • B2CS - Small non gstin holders, aggregate invoices (B2CSa for amendments in case of provisional assessment flag is “Yes”)
  • B2CL - Large non gstin holders (B2CLa for amendments in case of provisional assessment flag is “Yes”)
  • CDNR - Credit Debit notes registered users (CDNRa for amendments in case of provisional assessment flag is “Yes”)
  • NIL - Nil supplies
  • EXP - Exports (EXPa for amendments in case of provisional assessment flag is “Yes”)
  • AT - Advance tax (ATa for amendments in case of provisional assessment flag is “Yes”)
  • TXPD - Advance Tax Paid

GSTR1, GSTR2, GSTR3 and GSTR8 are important for businesses.

Example payload for Saving GSTR1 for GSP:
(Application Service Providers e.g. ERP should provide necessary data)

{  
	"gstin":"27GSPMH0042G1Z4",
	"fp":"042017",
	"gt":3782969.01,
	"b2b":[  
		{  
			"ctin":"27GSPMH0012G1Z4",
			"inv":[  
				{  
					"inum":"SFEB1231222",
					"idt":"24-11-2016",
					"val":729248.16,
					"pos":"06",
					"rchrg":"N",
					"prs":"Y",
					"etin":"01AABCE5507R1Z4",
					"itms":[  
						{  
							"num":1,
							"itm_det":{  
								"ty":"G",
								"hsn_sc":"G1221",
								"txval":10000,
								"irt":3,
								"iamt":833.33,
								"crt":4,
								"camt":500,
								"srt":5,
								"samt":900,
								"csrt":2,
								"csamt":500
							}
						}
					]
				}
			]
		}
	],
	"b2cl":[  
		{  
			"state_cd":"29",
			"inv":[  
				{  
					"cname":"R_Glasswork Enterprise",
					"inum":"B12354112",
					"idt":"14-11-2016",
					"val":1000.03,
					"pos":"06",
					"prs":"Y",
					"etin":"27AHQPA8875L1ZU",
					"itms":[  
						{  
							"num":1,
							"itm_det":{  
								"ty":"S",
								"hsn_sc":"S249",
								"txval":10000,
								"irt":3,
								"iamt":833.33,
								"csrt":2,
								"csamt":500
							}
						}
					]
				}
			]
		}
	],
	"b2cs":[  
		{  
			"state_cd":"29",
			"ty":"G",
			"hsn_sc":"G2469",
			"txval":10000,
			"irt":3,
			"iamt":500,
			"crt":4,
			"camt":500,
			"srt":5,
			"samt":900,
			"csrt":3,
			"csamt":833,
			"prs":"Y",
			"etin":"20ABCDE7588L1ZJ",
			"typ":"E"
		}
	],
	"at":[  
		{  
			"typ":"B2B",
			"cpty":"12DEFPS5555D1Z2",
			"state_cd":"12",
			"doc_num":"100001",
			"doc_dt":"24-11-2016",
			"ad_amt":100,
			"itms":[  
				{  
					"ty":"S",
					"hsn_sc":"S9043",
					"irt":3,
					"iamt":833.33,
					"crt":4,
					"camt":500,
					"srt":5,
					"samt":900,
					"csrt":2,
					"csamt":500
				}
			]
		}
	],
	"exp":[  
		{  
			"ex_tp":"WPAY",
			"inv":[  
				{  
					"inum":"81578978112",
					"idt":"12-11-2016",
					"val":995048.36,
					"sbpcode":"ASB9950",
					"sbnum":84298,
					"sbdt":"04-10-2016",
					"prs":"Y",
					"itms":[  
						{  
							"ty":"G",
							"hsn_sc":"G9207",
							"txval":10000,
							"irt":3,
							"iamt":833.33,
							"crt":4,
							"camt":500,
							"srt":5,
							"samt":900,
							"csrt":2,
							"csamt":500
						}
					]
				}
			]
		}
	],
	"nil":[  
		{  
			"g":[  
				{  
					"sply_ty":"INTRB2B",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				},
				{  
					"sply_ty":"INTRB2C",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				},
				{  
					"sply_ty":"INTRAB2B",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				},
				{  
					"sply_ty":"INTRAB2C",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				}
			],
			"s":[  
				{  
					"sply_ty":"INTRB2B",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				},
				{  
					"sply_ty":"INTRB2C",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				},
				{  
					"sply_ty":"INTRAB2B",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				},
				{  
					"sply_ty":"INTRAB2C",
					"expt_amt":123.45,
					"nil_amt":1470.85,
					"ngsup_amt":1258.5
				}
			]
		}
	],
	"hsnSac":[  
		{  
			"data":[  
				{  
					"num":1,
					"ty":"G",
					"hsn_sc":"1009",
					"txval":10.23,
					"irt":12.52,
					"iamt":14.52,
					"crt":78.52,
					"camt":78.52,
					"srt":12.34,
					"samt":12.9,
					"csrt":2,
					"csamt":500,
					"desc":"Goods Description",
					"uqc":"1",
					"qty":2.05,
					"sply_ty":"INTRB2B"
				}
			]
		}
	],
	"txpd":[  
		{  
			"typ":"B2B",
			"cpty":"29AABFZ0458N1ZL",
			"inum":"SFEB1231112",
			"idt":"20-11-2016",
			"doc_num":"100001",
			"doc_dt":"23-09-2016",
			"irt":3,
			"iamt":833.33,
			"crt":4,
			"camt":500,
			"srt":5,
			"samt":900,
			"csrt":2,
			"csamt":500
		}
	]
}

Filing GSTR Endpoint needs checksum for invoices and logic is shared here
https://groups.google.com/d/msg/gst-suvidha-provider-gsp-discussion-group/sH1HdJHPw3E/aGbeIPi7AAAJ

HSN Codes shared on GSTN Group
https://www.gst.gov.in/documents/HSN.pdf JSON Fixture for DocType HSN Code is in the source code shared earlier.

6 Likes

I have raised a Github issue to add Tax ID field to suppliers since under GST we will have to keep track of vendors who are registered with GST and have a GSTIN.

Github link

1 Like

Maybe we should have a separate “GST India” app which can be installed on top of standard ERPNext by users from India.

And this app can add further fields,validations reports etc.

1 Like

No this should be part of the core, fields can be activated based on country.

3 Likes