Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview:

The main objective of the billing module is to serve the Bill for all revenue Business services. To serve the Bill, Billing-Service requires demand. Demands will be prepared by Revenue modules and stored by billing based on which it will generate the Bill.

Pre-requisites:

  • Prior Knowledge of Java/J2EE.

  • Prior Knowledge of Spring Boot.

  • Prior Knowledge of KAFKA

  • Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON, etc.

  • Prior knowledge of the demand-based systems.

  • Following services should be up and running:

    • user

    • MDMS

    • Id-Gen

    • URL-Shortening

    • notification-sms

...

  • Deploy the latest image of the billing service available.

Configuration Details:

In the MDMS data configuration, the following master data is needed for the functionality of billing

...

bs.businesscode.demand.updateurl

{

"WS":"http://ws-calculator:8080/ws-calculator/waterCalculator/_updatedemand",

"TL":""

}

Each module’s application calculator should provide its own update URL. if not present then new bill will be generated without making any changes to the demand.

bs.bill.billnumber.format

BILLNO-{module}-[SEQ_egbs_billnumber{tenantid}]

IdGen format for bill number

bs.amendment.idbs.bill.billnumber.format

BILLNO-{module}-[SEQ_egbs_billnumber{tenantid}]

is.amendment.workflow.enabled

true/false

enable disable workflow of bill amendment

kafka.mgramseva.create.demand

mgramseva-create-demand

topic name to push demand created, to be consumed by mgramseva adaptor

kafka.mgramseva.update.demand

mgramseva-update-demand

topic name to push demand updated, to be consumed mgram sevaadaptor

kafka.mgramseva.create.bill

mgramseva-create-bill

topic name to push bill created, to be consumed mgram seva

kafka.mgramseva.update.bill

mgramseva-update-bill

topic name to push bill updated, to be consumed mgram seva

Integration

Integration Scope

Billing service can be integrated with any organization or system that wants a demand-based payment system.

Integration Benefits

  • Easy to create and simple process of generating bills from demands

  • The amalgamation of bills period-wise for a single entity like Water connection.

  • Amendment of bills in case of legal requirements.

Steps to Integration

  1. Customer can create a demand using the /demand/_create

  2. Organization or System can search the demand using /demand/_searchendpoint

  3. Once the demand is raised the system can call /demand/_update endpoint to update the demand as per need.

  4. Bills can be generated using, which is a self-managing API that generates a new bill only when the old one expires /bill/_fetchbill.

  5. Bills can be searched using /bill/_search.

  6. Amendment facility can be used in case of a legal issue to add values to existing demands using /amendment/_create and /amendment/_update can used to cancel the created ones or update workflow if configured.

Interaction Diagram

Interaction Diagram V1.1:

...

 
Case 2: Apportioning with two years of arrear:
If the current financial year is 2014-15. Below are the demands 

 

TaxHead

Amount

TaxPeriodFrom

TaxPeriodTo

Order

Purpose







WS_CHARGE

1000

2014

2015

6

Current

AdjustedAmt

0











Penality

500

2014

2015

5

Current

AdjustedAmt

0











Interest

500

2014

2015

4

Current

AdjustedAmt

0











Cess

500

2014

2015

3

Current

AdjustedAmt

0











Exm

-250

2014

2015

1

Current

AdjustedAmt

0





...