<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema

    Version 2.0

    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.

    Example:

    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>

    There are any number of "resheader" rows that contain simple
    name/value pairs.

    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.

    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    in use, but objects are still written using this scheme to be
    self-describing.

    In addition a bit of code is functionally at the bottom of the file
    to deserialize the embedded objects.

    The format is designed to be easily extensible.  See the MSDN
    documentation on System.Resources.ResourceManager for more information.
  -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <!-- GST Registration -->
  <data name="GSTRegistrationSaved" xml:space="preserve">
    <value>GST Registration saved successfully.</value>
  </data>
  <data name="GSTRegistrationUpdated" xml:space="preserve">
    <value>GST Registration updated successfully.</value>
  </data>
  <data name="GSTRegistrationDeleted" xml:space="preserve">
    <value>GST Registration deactivated successfully.</value>
  </data>
  <data name="GSTRegistrationNotFound" xml:space="preserve">
    <value>GST Registration not found.</value>
  </data>
  <!-- GSP Config -->
  <data name="GSPConfigSaved" xml:space="preserve">
    <value>GSP configuration saved successfully.</value>
  </data>
  <data name="GSPConfigUpdated" xml:space="preserve">
    <value>GSP configuration updated successfully.</value>
  </data>
  <!-- Adapter Config -->
  <data name="AdapterConfigSaved" xml:space="preserve">
    <value>Adapter configuration saved successfully.</value>
  </data>
  <data name="AdapterConfigUpdated" xml:space="preserve">
    <value>Adapter configuration updated successfully.</value>
  </data>
  <data name="AdapterConfigNotFound" xml:space="preserve">
    <value>No active adapter configuration found for the specified GSTIN and framework.</value>
  </data>
  <!-- Compliance Artifact -->
  <data name="ArtifactCreated" xml:space="preserve">
    <value>Compliance artifact created successfully.</value>
  </data>
  <data name="ArtifactAlreadyExists" xml:space="preserve">
    <value>A compliance artifact already exists for this document.</value>
  </data>
  <data name="ArtifactStatusUpdated" xml:space="preserve">
    <value>Artifact status updated successfully.</value>
  </data>
  <!-- Validation -->
  <data name="InvalidGSTIN" xml:space="preserve">
    <value>Invalid GSTIN format. GSTIN must be 15 characters (2-digit state code + PAN + entity suffix).</value>
  </data>
  <data name="InvalidPincode" xml:space="preserve">
    <value>Invalid pincode. Pincode must be a 6-digit number.</value>
  </data>
  <data name="InvalidHSNCode" xml:space="preserve">
    <value>Invalid HSN code length. HSN must be 4, 6, or 8 digits.</value>
  </data>
  <data name="TaxCalculationMismatch" xml:space="preserve">
    <value>Tax amount mismatch detected. Please verify taxable value and tax rates.</value>
  </data>
  <data name="CanonicalBuildFailed" xml:space="preserve">
    <value>Failed to build canonical invoice. Document not found or has insufficient data for compliance processing.</value>
  </data>
  <!-- E-Invoice -->
  <data name="EInvoiceGenerated" xml:space="preserve">
    <value>E-Invoice generated successfully. IRN has been obtained from the portal.</value>
  </data>
  <data name="EInvoiceOfflineGenerated" xml:space="preserve">
    <value>E-Invoice Offline data generated successfully.</value>
  </data>
  <data name="EInvoiceCancelled" xml:space="preserve">
    <value>E-Invoice cancelled successfully.</value>
  </data>
  <data name="EInvoiceAlreadyGenerated" xml:space="preserve">
    <value>E-Invoice has already been generated for this document.</value>
  </data>
  <!-- E-Way Bill -->
  <data name="EWayBillGenerated" xml:space="preserve">
    <value>E-Way Bill generated successfully.</value>
  </data>
  <data name="EWayBillOfflineGenerated" xml:space="preserve">
    <value>E-Way Bill Offline data generated successfully.</value>
  </data>
  <data name="EWayBillCancelled" xml:space="preserve">
    <value>E-Way Bill cancelled successfully.</value>
  </data>
  <data name="EWayBillVehicleUpdated" xml:space="preserve">
    <value>Vehicle details updated successfully for the E-Way Bill.</value>
  </data>
  <!-- Returns -->
  <data name="ReturnSubmitted" xml:space="preserve">
    <value>Return submitted to portal successfully.</value>
  </data>
  <data name="ReturnFiled" xml:space="preserve">
    <value>Return filed successfully.</value>
  </data>
  <data name="ReturnStatusSynced" xml:space="preserve">
    <value>Return status updated from portal successfully.</value>
  </data>
  <!-- General errors -->
  <data name="PortalError" xml:space="preserve">
    <value>Portal returned an error. Please check the audit log for details.</value>
  </data>
  <data name="SavedSuccessfully" xml:space="preserve">
    <value>Details Saved Successfully.</value>
  </data>
  <data name="UpdatedSuccessfully" xml:space="preserve">
    <value>Details Updated Successfully.</value>
  </data>
  <data name="DeletedSuccessfully" xml:space="preserve">
    <value>Details Deleted Successfully.</value>
  </data>
</root>
