Skip to content

fix: expose GST duty head on ledgers - #53

Open
benzene73 wants to merge 1 commit into
Accounting-Companion:masterfrom
benzene73:fix/ledger-gst-duty-head
Open

fix: expose GST duty head on ledgers#53
benzene73 wants to merge 1 commit into
Accounting-Companion:masterfrom
benzene73:fix/ledger-gst-duty-head

Conversation

@benzene73

Copy link
Copy Markdown
Contributor

Summary

  • expose Tally's ledger-level GSTDUTYHEAD as Ledger.GSTDutyHead
  • use the existing GSTTaxType enum for CGST, SGST/UTGST, IGST, cess, and UT tax values
  • verify the generated ledger request fetches GSTDUTYHEAD
  • cover deserialization with an IGST ledger fixture

Why

Tally's documented ledger schema stores the specific GST tax head in GSTDutyHead: https://help.tallysolutions.com/article/DeveloperReference/tdlreference/gst_schema.htm/

The current model exposes GSTTaxType through the GSTTYPE XML element. Because v3 generates a TDL report from declared model fields, ordinary ledger reads currently omit GSTDUTYHEAD. In a live TallyPrime 7 read, the SDK response for an IGST ledger contained <TAXTYPE>GST</TAXTYPE> but no specific head; explicitly fetching $GSTDutyHead returned IGST.

This adds the documented field without changing or removing the existing GSTTaxType property.

Test

dotnet test src/Tests/TallyConnector.XmlTests/TallyConnector.XmlTests.csproj --filter "FullyQualifiedName~LedgerDeserializationTests"
Passed: 8, Failed: 0

@saivineeth100

Copy link
Copy Markdown
Member

I am going to achieve this repo

my initial though of separate services, model per version made this library hard to maintain
so, I started fresh another repo using unified domain model with differed transport models based on version
since its build with AI before releasing public, I am testing very thoroughly
and there are lot of issues especially dynamic xml based on model
select statement support
if you are interested, I can add you privately

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants