Sales and Service
Customer Agreement
sd-customer-agreement · bian-sales-service
A BIAN service domain in Sales and Service. It applies the Manage functional pattern to the Customer Agreement, with the Customer Agreement Management Plan as its control record — one independent Spring Boot microservice on the platform's Cilium eBPF mesh.
View repository ↗The 162-domain platform ↗
Business DomainCustomer Management
Functional PatternManage
Asset TypeCustomer Agreement
Control RecordCustomer Agreement Management Plan
USEWhat it is used for
Representative use cases for the Customer Agreement service domain within a BIAN-aligned core-banking landscape.
- Maintain a single view of the customer across products, channels, and entities
- Drive onboarding, servicing, and offboarding journeys for Customer Agreement records
- Feed customer analytics, consent, and entitlement decisions to channel applications
APIBIAN semantic API
The control record (Customer Agreement Management Plan) is exposed through uniform BIAN action terms. Java 21 · Spring Boot 3, OpenAPI at /swagger-ui.html, health at /actuator/health.
| Method | Path | BIAN action |
| GET | /v1/service-domain | Service metadata |
| POST | /v1/customer-agreement-management-plan/initiate | Initiate |
| GET | /v1/customer-agreement-management-plan/{crId}/retrieve | Retrieve |
| PUT | /v1/customer-agreement-management-plan/{crId}/update | Update |
| PUT | /v1/customer-agreement-management-plan/{crId}/control | Control (suspend / resume / terminate) |
INTBackend integrations
The systems and standards a real deployment of Customer Agreement would transact with.
- CRM: Salesforce Financial Services Cloud, Microsoft Dynamics 365
- CIAM: Keycloak, Okta, ForgeRock
- Credit bureaus: CIBIL, Experian, Equifax
- KYC utilities & registries
RUNRun it yourself
Each service domain is its own standalone Spring Boot repository — clone and run in seconds, or deploy onto Kubernetes with the bundled Helm chart behind the Cilium mesh.
# run this service domain standalone
git clone https://github.com/Sreenivas-Sadhu-Prabhakara/sd-customer-agreement
mvn -f sd-customer-agreement spring-boot:run
curl localhost:8080/v1/service-domain
# or deploy onto Kubernetes (Cilium eBPF mesh)
helm upgrade --install sd-customer-agreement ./helm -n bian-sales-service
FAQQuestions
What is the BIAN “Manage” functional pattern?
A Manage service domain plans, coordinates and oversees a resource or activity across its lifecycle. Customer Agreement applies it to the Customer Agreement.
What is a BIAN service domain?
BIAN (the Banking Industry Architecture Network) decomposes a bank into independent service domains, each owning exactly one business capability. Customer Agreement is the service domain for Customer Management; it manages the Customer Agreement Management Plan and exposes it through standard BIAN action terms.
What business area does Customer Agreement belong to?
Customer Agreement sits in the Sales and Service business area — the customer-facing sales, servicing and channel domains that run the customer lifecycle. It runs in the bian-sales-service namespace as one independent Spring Boot microservice.
Is Customer Agreement production-ready?
It is an educational reference implementation: a real BIAN REST API over an in-memory store, ready to be filled with domain logic. It is not a live bank and is not affiliated with BIAN.
SEEIn the landscape
Customer Agreement is one of 162 BIAN service domains on the platform. Explore the rest: