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 Time Off. This will track different times of time, such as unpaid time. Employees would add time to these Time Off 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 and use Time Off Accruals?
How do I add Time Off to a time card?
Where do I manage the time off for each employee?
Can I create or change time off types?
How do I get a report on all types of Time Off 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: