Manage rate catalog (pricing for services)
API & References
/Billing & Ledger
//
Add Rate to Rate Card
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.
Download OpenAPI description
Languages
Servers
Mock server
https://docs.nelnetpay.com/_mock/apis/billing-ledger-service
UAT server
https://api.uat.nelnetpay.com/billing
Production server
https://api.nelnetpay.com/billing
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards
- Production serverhttps://api.nelnetpay.com/billing/rateCards
- 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/rateCards?scope=MERCHANT&page=1&page_size=50' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Response
application/json
{ "results": [ { … } ], "pagination": { "totalRecords": 100, "currentPage": 1, "totalPages": 10, "nextPage": 2, "prevPage": null } }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards
- Production serverhttps://api.nelnetpay.com/billing/rateCards
- 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/rateCards \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Pre-K Rates 2026",
"scope": "MERCHANT",
"tags": {
"billing.program": "PRE_K",
"billing.year": "2026"
}
}'Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "name": "string", "scope": "MERCHANT", "tags": { "property1": "string", "property2": "string" }, "optimisticLockVersion": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards/{rateCardId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards/{rateCardId}
- Production serverhttps://api.nelnetpay.com/billing/rateCards/{rateCardId}
- 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/rateCards/{rateCardId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "name": "string", "scope": "MERCHANT", "tags": { "property1": "string", "property2": "string" }, "optimisticLockVersion": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "rates": [ { … } ] }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards/{rateCardId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards/{rateCardId}
- Production serverhttps://api.nelnetpay.com/billing/rateCards/{rateCardId}
- 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/rateCards/{rateCardId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"scope": "MERCHANT",
"tags": {
"property1": "string",
"property2": "string"
}
}'Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "name": "string", "scope": "MERCHANT", "tags": { "property1": "string", "property2": "string" }, "optimisticLockVersion": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards/{rateCardId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards/{rateCardId}
- Production serverhttps://api.nelnetpay.com/billing/rateCards/{rateCardId}
- 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/rateCards/{rateCardId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards/{rateCardId}/rates/{rateId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards/{rateCardId}/rates/{rateId}
- Production serverhttps://api.nelnetpay.com/billing/rateCards/{rateCardId}/rates/{rateId}
- 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/rateCards/{rateCardId}/rates/{rateId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"displayOrder": 0
}'Response
application/json
{ "rateCardId": "851fa573-2930-442a-9510-162bc54b330a", "rateId": "dc6263b0-e8fb-4144-a111-53fde6c86836", "displayOrder": 0, "createdAt": "2019-08-24T14:15:22Z" }
- Mock serverhttps://docs.nelnetpay.com/_mock/apis/billing-ledger-service/rateCards/{rateCardId}/rates/{rateId}
- UAT serverhttps://api.uat.nelnetpay.com/billing/rateCards/{rateCardId}/rates/{rateId}
- Production serverhttps://api.nelnetpay.com/billing/rateCards/{rateCardId}/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/rateCards/{rateCardId}/rates/{rateId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'