Month-end fees
Once a month TSYS collects the fees it did not collect daily, such as statement, regulatory and gateway fees and the month’s discount true-up, as a single debit from the merchant’s bank account. The merchant statement prints it as “Amount Deducted”. GET /api/partner/merchants/{merchant_id}/deposits returns this debit as its own entry with cycle set to MONTH_END.
Identifying the entry
cycleisMONTH_END, andmonth_endis an object. For every other entry,month_endisnull.amountis signed like any other entry: negative is a debit. The whole amount is reported underfees;card_deposits,chargebacksandotherare0.00.processing_dateis TSYS’s month-end processing day. Use it withdate_from/date_toas you would for any entry.month_end.period_monthis the first day of the billing month the fees belong to. The August 2026 debit hasperiod_month2026-08-01and a processing date of2026-08-31.deposit_idis stable for the merchant and month. It does not change whenamount_sourcechanges (see below).
Where the amount comes from
month_end.amount_source is one of two values:
ach_file: TSYS sent a monthly ACH file for the merchant’s bank and month, and the amount comes from that file.derived: TSYS does not send a monthly ACH file for some banks. The amount is calculated from the TSYS monthly fee report, per fee line, as fee billed − portion already collected by daily ACH, summed across the month. On every month where both sources exist, this calculation matched the monthly ACH file to the cent.
If TSYS starts sending a monthly ACH file for a bank that is derived today, those months switch to ach_file with no change on your side. The deposit_id stays the same.
A month-end entry can be a credit (a positive amount), for example when the daily collections exceeded the month’s fees.
Posting date
effective_on and effective_through are equal for a month-end entry. When month_end.effective_date_is_estimated is true, the date is estimated as the month-end processing date plus two calendar days, moved forward past weekends and Federal Reserve holidays. That rule held on every monthly ACH file we have. As with all deposits, effective dates are processor dates and do not confirm receipt by the bank.
status follows the usual rules: scheduled until the effective date, then debited (or funded for a credit). reconciled is false only when a monthly ACH file amount disagrees with the fee report lines behind it.
Detail
GET /api/partner/merchants/{merchant_id}/deposits/{deposit_id} returns the fee lines behind the debit in month_end_items:
The item amount values sum to the entry amount. Lines with nothing left to collect are omitted. For month-end entries, lines and related_batches are empty and breakdown has a single FEES row. The batches endpoint does not apply.
Compatibility
MONTH_END is a new cycle value. If you validate cycle against a fixed list, add it, or treat unknown values as OTHER. Month-end debits for banks with a monthly ACH file previously appeared as cycle OTHER fees-only entries with different IDs. Refetch any stored processing-date window that covers a month end, and replace those records rather than appending.