Posting adds entries to the Finance & Billing subledger when you post a batch. Use this reference to retrieve those entries through the API by source document, batch, or fiscal period, or to create, change, or delete individual entries outside posting.
Finding a Document's Entries
| Source document | Route |
|---|---|
| Invoice | GET /{tenantId}/invoice/{invoice_id} |
| Payment | GET /{tenantId}/payment/{payment_id} |
| Credit | GET /{tenantId}/credit/{credit_id} |
| Credit memo | GET /{tenantId}/creditMemo/{id} |
| Debit memo | GET /{tenantId}/debitMemo/{id} |
| Write-off | GET /{tenantId}/writeOff/{write_off_id} |
| Cost-of-goods entry | GET /{tenantId}/cogsEntry/{cogs_entry_id} |
| Revenue recognition schedule | GET /{tenantId}/revenueRecognitionSchedule/{id} |
| Inventory receipt | GET /{tenantId}/inventoryReceipt/{inventory_receipt_id} |
Each route returns that document's entries from oldest to newest, one page at a time. Use the continuation key in the response to get the next page, and request only the fields you need if you do not want the full entry. Within one master entry's group, lines appear in the order Rhythm created them, not necessarily the order you would get by sorting on one field yourself.
Refunds do not have a route for their own identifier, so you cannot list refund entries by naming the refund directly.
Tip
If your account uses inline bundling for dues, the invoice's subledger entries show how the batch split the amount across chapter and HQ dues after posting. You will not see that breakdown before posting, or on the payment or credit.
Tip
In the Console, a credit or refund page does not show its subledger entries because it looks them up under the wrong identifier and always returns empty. If you need those entries, call the by-document route for the credit's identifier yourself.
Finding a Batch's or a Fiscal Period's Entries
| Scope | Route | What you get |
|---|---|---|
| One batch | GET /{tenantId}/batch/{batch_id} | Every field for each entry in the batch |
| One fiscal period | GET /{tenantId}/fiscalPeriod/{business_unit_id}/{fiscal_year_id}/{fiscal_period} | Each entry's key fields only, so a period-level pull can include less detail per entry than the batch route |
Both routes return entries from oldest to newest, one page at a time. They use the same paging and field-selection options as the by-document routes. If you leave out a required identifier, Rhythm refuses the request with "No value was provided for parameter: …".
Warning
If you are investigating possible duplicate subledger entries, do not rely only on an export or query result to confirm them. A broader query or export can miss duplicates that you can see when you open a specific invoice and review its own subledger entries. Check both before you conclude there is no duplication. Rhythm currently has no dedicated report or query that identifies every batch affected by duplicate entries across your account, so you may need to check likely candidates individually.
You can also pull finance transactions for a date range by querying subledger entry batches with a filter on batch date, such as a "greater than" filter on a specific date. This is a practical way to get every transaction from a certain point forward without stepping through fiscal periods one at a time.
For payment-related debit rows, fields from the Payment Line Item group, including its date, can come back blank in a Subledger Entries query. If that happens, use the Date (Payment) field instead of Date (Payment Line Item) for those debit rows until this is resolved.
If you are building a Batches Subledger Entries query in the Console's Query Center and need to filter G/L accounts by partial name text, use the "(Subledger Entry Item) Gl Account Name" field. It supports a "contains text" filter as expected. A similarly named account field under Financial Configuration looks like it should work for text matching, but it does not behave the same way.
The Console's transaction subledger entries view shows both the G/L account number and name for entries going forward. This makes it easier to see where a debit or credit posted without cross-referencing the chart of accounts separately.
Tip
For a report of payments and invoices in a date range from the Console instead of the API, a Batch Subledger Entry Search covers both. It excludes pro forma invoices and does not include historical snapshot data, so use the routes on this page if you need either of those.
A Subledger Entries query in the Console's Query Center can also show every finance transaction type together, including payments, invoices, and the rest. It also shows each transaction's status at the moment its batch posted, such as closed, opened, cancelled, or voided. To show the payer's name in that query, add the (Subledger Entry Item) Contact field rather than a generic contact-name field; Contact Full Name and First Name can come back blank there.
Looking Up One Entry by Batch and Transaction
A route exists for a batch and transaction ID together, GET /{tenantId}/subledgerEntry/{batchId}/{transactionId}, but it does not currently return an entry for any transaction you provide. Use the by-document route for the transaction's own document type instead.
Creating, Changing, or Deleting Entries Directly
In addition to the entries that posting and period close create, the API lets you create, replace, change, or delete individual subledger entries yourself:
| Operation | Route |
|---|---|
| Create | POST /{tenantId} |
| Read | GET /{tenantId}/{id} |
| Replace | PUT /{tenantId}/{id} |
| Change selected fields | PATCH /{tenantId}/{id} |
| Delete | DELETE /{tenantId}/{id} |
| Many at once | POST /{tenantId}/batch |
These operations do not run Finance & Billing's accounting rules. You can save an entry that no longer balances, save it against business unit accounts it was not posted to, or delete it, and Rhythm will not refuse the request. This includes payment entries. You can change one directly, but it is not recommended because it bypasses the checks that keep a payment's entries consistent and can create financial problems that are hard to trace.
Warning
Nothing stops an entry written this way from disagreeing with the batch or period it names. If a trial balance stops balancing, compare each suspect entry's version number (sys_version) with 1. Posting always writes an entry at version 1, so a higher version means someone changed it afterward.
Access
Every route on this page requires a signed-in, non-Portal identity in your Rhythm account. Rhythm refuses a Portal sign-in with 401 Unauthorized. Beyond that, Rhythm only checks that you belong to the account. There is no separate permission for reading, writing, or deleting subledger entries.
Related
- Saved Statement Records Through the API
- How Posting Creates Ledger Entries
- Post Batches
- Download Batches to Your Accounting Software