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 is apportioned off first while the highest-order tax head is apportioned last.
Before you proceed with the documentation, make sure the following pre-requisites are met -
- Java 8
- The Kafka server is up and running
- egov-persister service is running and has an apportioned persister configuration path added to it
- PSQL server is running and a database is created to store apportion audit data
- Apportion payment in tax heads of bill
- Apportion advance amount in tax heads of demand during demand creation
Environment Variables | Description |
---|---|
egov.apportion.default.value.order | If set to true will apportion of negative amount first irrespective of tax head order |
- Deploy the latest version of the egov-apportion-service service
- Add apportion persister yaml path in persister configuration
There is no separate configuration required. The TaxHead master that is configured in billing service is only used
Any payment service which wants to divide the paid amount into different tax head buckets can integrate with the apportion service.
- Apportions amount in tax heads
- 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 advance amount in demands
Title | Link |
Collection Service | https://digit-discuss.atlassian.net/wiki/spaces/DD/pages/1620574288 |
Billing Service | https://digit-discuss.atlassian.net/wiki/spaces/DD/pages/1620672528 |
API Swagger Documentation |
Link | |
/apportion-service/v2/bill/_apportion | https://www.getpostman.com/collections/142983a40e95da157b45 |
/apportion-service/v2/demand/_apportion | https://www.getpostman.com/collections/142983a40e95da157b45 |
(Note: All the APIs are in the same Postman collection therefore the same link is added in each row)