Skip to main content

Bills

Introduction​

The Bills module manages client billing, GST compliance, payment collection, and Indian e-invoicing (IRN) integration. Finance teams create invoices from configured particulars, optionally generate IRNs through ZAPI credentials loaded at login, and analyze billing performance through MIS reports.

Purpose​

Bills supports:

  • Invoice creation with bill masters, particulars, and billing parameters
  • Payment receipt against outstanding invoices
  • Credit notes, debit notes, and categorized variants
  • GST return preparation and bulk IRN generation
  • Billing MIS and periodical analytics

When to Use​

Use Bills when you:

  • Raise client invoices for deployed manpower or services
  • Record client payments and adjustments
  • Generate or cancel IRNs for statutory e-invoice compliance
  • Export GST return data or billing MIS for management review
IRN prerequisites

E-invoice features require valid ZAPI credentials and URIs populated on the company user record at login. Without them, bill save may succeed but IRN calls fail.

Overview / Architecture​

The Bills Area uses _BillsLayout.cshtml and stores transactional data through DAL/Bills/. IRN integration reads session keys set in LoginController after GetLoginUser returns company e-invoice configuration.

Entry URL: /Bills/BillsDashboard/Index
PageID: Bills
Module flag: Billing

Controllers​

Dashboard & configuration​

ControllerPrimary responsibility
BillsDashboardModule home
BillMasterBill header templates
BillParticularsLine item particulars
ParticularsAssignedParticular assignment to clients/units
BillingParameterBilling parameter setup
ConfigurationModule configuration
ExpenseMaster / ExpenseDetailsExpense tracking

Transactions​

ControllerPrimary responsibility
CreateBillsInvoice creation and editing
PaymentReceivePayment receipt
CreditNote / DebitNoteStandard adjustments
CategorizedCreditNote / CategorizedDebitNoteCategorized adjustments
ArrearProcessBilling arrear processing

Compliance & integration​

ControllerPrimary responsibility
GSTReturnGST return reporting
BulkGenrateIRNBulk IRN generation

Reports​

ControllerPrimary responsibility
BillsReportMISBilling MIS
BillReportPeriodicalMISPeriodical MIS

Views / Layout​

AssetRole
_BillsLayout.cshtmlModule shell with sidebar
bills-modern.css / dashboard CSSModule styling
Report .aspx viewersCrystal MIS outputs

DAL​

DAL classRole
BillDashBoard_DALDashboard metrics
CreateBill_DALInvoice CRUD
PaymentReceiving_DALPayment allocation
GenerateIRN_DALIRN API payload and persistence
GSTReturnReport_DALGST return datasets
CategorizedCreditNote_DALCategorized credit notes
ExpenseMaster_DAL / ExpenseDetails_DALExpense modules
BillParticularsSetting_DALParticular configuration

Business Objects​

Namespace: BO.Bills

BO typeRole
GenerateIRN_BO / GetGenerateIRN_BOIRN request and response
ResponseGenerateIRN_BOAPI response mapping
PaymentReceiving_BOPayment lines
CreditNote_BO / CategorizedDebitNote_BOAdjustments
UnitBillingParameters_BOClient/unit billing rules
EWaybill / EWayBillByChallanE-way bill payloads

Typical Workflow​

Invoice creation with optional IRN:

Data Flow​

  1. Masters (particulars, parameters) configured per CompID.
  2. CreateBills posts BO → CreateBill_DAL → write SPs.
  3. IRN actions build requests using session URIs and credentials:
Session keyPurpose
CDKEYCompany e-invoice license key
EFUSERNAME / EFPASSWORDE-invoice API credentials
ZAPIPATHZAPI base path
GenerateIRNUriIRN generation endpoint
CancelIrnUriIRN cancellation endpoint
PrintIRNUriIRN print endpoint
PrintEWayBillDetailed / PrintEWayBillSummaryE-way bill print URIs
EWayBillDeliveryChallanDelivery challan e-way URI
  1. MIS controllers load aggregated billing tables → Crystal or grid export.

Reports​

ReportController
Billing MISBillsReportMIS
Periodical MISBillReportPeriodicalMIS
GST returnGSTReturn

Permissions​

GateRequirement
Module flagdtVerifyUser.Billing == true
SessionValid CompID
IRNValid e-invoice session keys from login
Menu permissionsPer-screen database permissions

Common Issues​

SymptomLikely cause
IRN HTTP failureMissing or expired EFUSERNAME / EFPASSWORD
Bill totals mismatchParticular assignment or parameter not synced
GST report emptyPeriod filter or unposted bills
Print IRN 404Wrong PrintIRNUri for environment

Important Notes​

Session-bound credentials

IRN credentials are loaded once at login. Users must re-login after company e-invoice settings change.

Bulk IRN spelling

The controller is named BulkGenrateIRN (typo preserved) — use exact route names in links and tests.

Common Mistakes​

MistakeConsequence
Generating IRN before bill finalizationCancel/reissue overhead
Testing IRN on production credentials in devStatutory submissions to live GSTN
Ignoring categorized note typesGL misclassification

Next Steps​

  1. Verify billing masters and particulars for the client.
  2. Confirm e-invoice session keys on a test login.
  3. Create a draft bill, generate IRN in sandbox, then run MIS reconciliation.