Skip to content

Modules and Licensing

Applies to: All subscriptions

Purpose

Describe the modules Complifly offers, what each one covers, and the mechanism that decides whether a module appears for a given GSTIN. This page answers the single most common early support question: "we bought it, so why can't I see it?"

Audience

Project sponsors, implementation consultants, system administrators. Anyone scoping a contract or diagnosing an absent screen.

Prerequisites

Reference

The modules

Module Covers Typical owner on the customer side
e-Invoice IRN generation and cancellation, signed QR, compliant printing, status tracking, reporting-window control Indirect tax / finance operations
e-Way Bill Bill generation from an IRN or from a standalone document, Part-B vehicle updates, validity extension, cancellation, rejection of other-party bills, consolidated bills, multi-vehicle movement Logistics / dispatch
Invoice Generation (IGM) Raising invoices, credit and debit notes inside Complifly; customer and item masters; numbering series; approval workflow; a receivables subledger and general ledger with period close and year-end Finance / accounts receivable
TDS Deduction capture, challan management, return preparation and validation, certificates, notice tracking, rate resolution Direct tax team
Data Privacy (DPDP) Consent notices and versions, consent capture and withdrawal, grievance handling, evidence packs, an audit ledger, and connector or webhook integrations for downstream systems Data protection officer / compliance

e-Invoice and e-Way Bill are the core. The other three are independent additions — a customer may license any combination.

How a module is switched on

Complifly enables capability per GSTIN, not per company and not per user. That distinction matters for any organisation with several registrations: a group can pilot the Invoice Generation Module on one registration while the rest of the group carries on unchanged.

Enablement works in two layers:

  1. A platform default. Every GSTIN starts from a default posture so a newly provisioned registration works immediately rather than being blocked until an operator switches on each flag by hand.
  2. An explicit per-GSTIN setting. Where present, this always wins over the default. Administrators set it from the permissions matrix in the admin console.

The defaults, and the reasoning behind each:

Setting Default Why that default
EINVOICE_ENABLED On Core capability; the reason customers buy
EWAYBILL_ENABLED On Core capability
RECONCILIATION_ENABLED On Read-only analysis; no risk in having it available
SOD_ENFORCED On Segregation of duties is the safe default. Turning it off collapses maker and checker into one person — appropriate for a small business, a deliberate control decision everywhere else
AUTO_IRN_ENABLED Off Automation that fires an IRN on ingest without a human. A legal act with a cost; must be chosen, never inherited
INVOICING_ENABLED (IGM) Off A module unlock with legal consequence
ERP_WRITEBACK_ENABLED Off A module unlock with a cost and a data-egress consequence

The three defaulting to off share a property: switching them on changes what the system does without a person present, or sends data outward. Those are decisions, not conveniences.

Verify: How modules map to commercial packaging — which are separately licensed, and whether enabling a flag has a billing consequence — is not derivable from the platform. Confirm with your Complifly contract. Recorded as assumption D1 in the Assumptions Register.

Two properties worth knowing before you plan

Write-back is enforced at emission, not at delivery. A tenant with write-back off does not store a single outbound event. That means there is nothing to purge, index, back up or explain — but it also means turning it on does not backfill history. Emission starts from the moment it is enabled. Seeding an ERP with existing compliance state is a separate, explicit exercise.

Module help is downloaded only by tenants who have the module. Documentation for a module is packaged separately from the core, so a tenant without the module never receives its help content. An absent module is therefore absent everywhere, consistently — which is why "the screen is missing and so is its help" is a normal symptom of a disabled module rather than a second fault.

Validation

After enabling or reviewing a module:

Check Expected result
The flag is set on the right GSTIN The permissions matrix shows the module against each intended GSTIN — check every registration, not just the one you are signed in to
The change has taken effect Flags are cached briefly for performance. Sign out and in, or wait one minute, before concluding it has not worked
The screen is reachable The module's navigation entry appears and opens. A visible entry that errors is a different fault from an absent one
The role can use it Module visibility and permission are separate gates. A user with the module enabled but without the permission still sees controls greyed out. See Roles and Permissions
Write-back, if enabled, is emitting New documents produce outbound events. Older documents will not, and that is by design

Troubleshooting

Symptom Cause Action
Module licensed but no screen appears Flag not enabled for this GSTIN Set it in the permissions matrix for every GSTIN that needs it
Enabled, but still absent after refresh Flag cache not yet expired Wait one minute or re-authenticate. If still absent, confirm the flag was saved against the GSTIN and not the company
Screen appears but every button is greyed out The user's role lacks the module's permissions Fix the role assignment, not the flag. See Roles and Permissions
Write-back on, but the ERP receives nothing for old documents Emission is not retrospective Expected. Plan a separate seeding exercise. See Write-back API
Automation not firing after enabling IGM AUTO_IRN_ENABLED is a separate flag from INVOICING_ENABLED Enable the specific automation deliberately
One GSTIN in a group behaves differently from the rest Per-GSTIN settings diverged Compare the matrix across all registrations; this is usually intended, occasionally an oversight