Manage rate catalog (pricing for services)
- Get Rate Details
Billing & Ledger Service API (1.0.0)
The Billing & Ledger Service is the financial engine of the NPS Billing Platform. It manages pricing (Rates, Rate Cards), subscription configurations, allocation rules for split billing scenarios (divorced households, subsidies), charge lifecycle, and double-entry accounting ledger.
Charges follow a strict lifecycle with immutability after invoicing:
- PENDING → Created but not validated
- BILLED → Validated and ready to invoice (still editable)
- INVOICED → Invoiced (IMMUTABLE - moved to SettledCharge)
- PAID → Paid directly without invoice
- VOID → Cancelled
Defines how charges are split between multiple accounts (e.g., divorced parents, subsidy agencies). Three rule types:
- RESPONSIBLE_PARTY: Percentage-based split
- COVERAGE_TRANSFER: Fixed amount covered (e.g., $25 subsidy per charge)
- BILLING_CAP: Maximum amount per period
All financial transactions follow the accounting equation (Debits = Credits). Journal entries are immutable once created - corrections use adjustment entries.
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates
- UAT serverhttps://api.uat.nelnetpay.com/billing/rates
- Production serverhttps://api.nelnetpay.com/billing/rates
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates?type=service+fee&tags=billing.program%3APRE_K%2Cbilling.taxable%3Afalse&page=1&page_size=50' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Successful response
Type of rate
Price per unit in cents (e.g., 5000 = $50.00). Required unless type is DISCOUNT.
Business version number for audit history and deterministic billing (auto-incremented on updates)
Optimistic locking version (managed by Hibernate @Version). Prevents concurrent update conflicts.
{ "results": [ { … } ], "pagination": { "totalRecords": 1, "currentPage": 1, "totalPages": 1, "nextPage": null, "prevPage": null } }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates
- UAT serverhttps://api.uat.nelnetpay.com/billing/rates
- Production serverhttps://api.nelnetpay.com/billing/rates
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"description": "Pre-K Daily Rate",
"type": "service fee",
"pricePerUnit": 5000,
"tags": {
"billing.category": "service fee",
"billing.program": "PRE_K",
"billing.taxable": "false",
"billing.glCode": "4000"
}
}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "description": "string", "type": "service fee", "pricePerUnit": 0, "discountPercentage": 100, "tags": { "property1": "string", "property2": "string" }, "version": 0, "optimisticLockVersion": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates/{rateId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rates/{rateId}
- Production serverhttps://api.nelnetpay.com/billing/rates/{rateId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates/{rateId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "description": "string", "type": "service fee", "pricePerUnit": 0, "discountPercentage": 100, "tags": { "property1": "string", "property2": "string" }, "version": 0, "optimisticLockVersion": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates/{rateId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rates/{rateId}
- Production serverhttps://api.nelnetpay.com/billing/rates/{rateId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates/{rateId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"description": "Pre-K Daily Rate (2026)",
"pricePerUnit": 5500
}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "description": "string", "type": "service fee", "pricePerUnit": 0, "discountPercentage": 100, "tags": { "property1": "string", "property2": "string" }, "version": 0, "optimisticLockVersion": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates/{rateId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rates/{rateId}
- Production serverhttps://api.nelnetpay.com/billing/rates/{rateId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rates/{rateId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'