One-off fees added to a subscriber will show up on the subscriber's invoice when their subscription is renewed or when they re-subscribe.
Each fee has a group attribute. The fees for a subscriber are grouped by their group attribute such that each grouping shows up as a line item on the invoice. For example, if a subscriber had a number of fees, and some of them had a group of "Traffic Fees" and others had a group of "Support Fees", the invoice would look something like this:

To add a fee to a subscriber, do an HTTP POST like so:
[ ~ ] $ curl -i -u 2dac9d3d93326f97da4845d407789da232515b48:X \
-H 'Content-Type: application/xml' \
-d '
<fee>
<name>Daily Bandwidth Charge</name>
<description>313 MB used</description>
<group>Traffic Fees</group>
<amount>2.34</amount>
</fee>' \
https://spreedly.com/api/v4/meresheep/subscribers/54442/fees.xml
In that call, 'meresheep' is the url suffix of the site.
If successful, a status code of 201 (Created) is returned.
A 404 (Not Found) status code is returned if there is no subscriber with the customer_id.
A 422 (Unprocessable Entity) is returned if there are any validation errors on the passed in Fee.
A 422 (Unprocessable Entity) is returned if the subscriber is not active.
A 422 (Unprocessable Entity) is returned if the subscriber is not recurring.