Right now Buddy Punch is really meant to be a time clock and we focus on time. That said there is a "notes" section when using the "punch in/out and edit time." These notes will appear on the in/out activity export. You could potentially use that for whatever your business needs are.
You can create different types of PTO. This will track different times of time, such as unpaid time. Employees would add time to these PTO types and you can track them in the accrual area of the employee profile.
Here are a few help articles on setup and usage:
How do I enable PTO Accruals?
How do I add PTO to employees?
Where do I manage the PTO for each employee?
Can I create or change PTO/time off types?
How do I get a report on all types of PTO over a date range?
We have something called Department Codes that might help you here as well. If you create department codes and then assign them to employees, when they punch in and out they have to choose which department code they are punching into (as long as they are assigned 2 or more codes). Potentially you could create 2 department codes, one called "Regular Time" and another called "Expenses." When an employee goes into "punch in and edit time" they would select the expenses department code. This would also help you identify what is an expense in the export.
*** Make sure that the punch in and out times are the same when reporting expenses, so additional time is not added to the timecard. ***
Here is a screen shot that illustrates how an employee could report expenses: