People

Pay teachers for what they taught.

Hours come from attendance, the rate comes from the day the lesson happened, and the money goes out through Stripe.

Payroll is a consequence, not a data entry task.

If attendance is marked, payroll already knows the answer.

The two rate lines are the whole feature. A teacher whose rate rose mid-month is paid the old rate for the lessons they taught before it and the new rate for the ones after — not the current rate for all of them, which is what happens when payroll reads a rate off a profile at the moment it runs.

The monthly payout draft is one of the scheduled jobs, so the run is waiting for you rather than remembered by you. It stays a draft until somebody with the permission approves it, and stays approved until somebody with a different permission pays it.

What it handles.

  • The rate is frozen at the time taught

    Give a teacher a raise in October and September’s lessons still pay September’s rate. Pay is derived from the lessons that were actually attended, not from a rate looked up on the day you run payroll.

  • Approve and pay are separate

    One permission builds and approves a payout run; another releases the money. They can be held by the same person, but they do not have to be, and the audit trail knows which was which.

  • Paystubs you can fix before they go

    While a run is still a draft, lines can be adjusted — a workshop, a covered lesson, a correction from last month. Once it is paid it is a record.

  • Stripe files the 1099

    Teachers onboard to Stripe Connect from inside the app and are paid as contractors. Stripe handles the tax form. Cost and margin columns are withheld from anyone without permission to see them.

It is not generally available yet.

B♭ Studio runs a working music studio today. If you run one too, tell us about it and we will get in touch when there is something to show you.

Join the early access list