Transaction changes

The plan is to collapse the outstanding billing transaction model and api changes (#1077, #1088, and #1090) into a PR attached to this ticket.