Appropriation Service
Overview
Apportion service is used to apportion the amount paid against a bill among the different tax heads based on the implemented algorithm. The default algorithm uses the order of the tax head to apportion the tax head with the lowest order apportioned off first and the highest order tax head apportioned last.
Pre-requisites
Before you proceed with the documentation, make sure the following pre-requisites are met -
Java 8
Kafka server is up and running
egov-persister service is running and has apportioned persister config path added to it
PSQL server is running and a database is created to store apportion audit data
Key Functionalities
Apportion payment in tax heads of bill
Apportion advance amount in tax heads of demand during demand creation
Environmental Variables | Description |
---|---|
| If set to true will apportion of the negative amount first irrespective of tax head order |
Deployment Details
Deploy the latest version of egov-apportion-service
Add apportion persister yaml path in persister configuration
Configuration Details
There is no separate configuration required. The TaxHead master that is configured in the billing service is only used
Integration Details
Integration Scope
Any payment service which wants to divide the paid amount into different tax head buckets can integrate with apportion service.
Integration Benefits
Apportions amount in tax heads
Steps to Integration
To integrate, the host of egov-apportion-service should be overwritten in the helm chart
/apportion-service/v2/bill/_apportion should be called to apportion the bill
/apportion-service/v2/demand/_apportion should be called to apportion the advance amount in demands
Interaction Diagram
Reference Docs
Doc Links
Description | Link |
---|---|
Collection Service | |
Billing Service | |
API Swagger Documentation |
API List
Description | Link |
---|---|
/apportion-service/v2/bill/_apportion | |
/apportion-service/v2/demand/_apportion |
(Note: All the APIs are in the same postman collection therefore the same link is added in each row)