| 1 | forms: |
| 2 | - name: add-xyz-hours |
| 3 | display_name: "Hours spent on XYZ contracting project" |
| 4 | fields: |
| 5 | - name: date |
| 6 | type: date |
| 7 | display_name: "Date" |
| 8 | required: true |
| 9 | - name: hours |
| 10 | type: number |
| 11 | display_name: "Hours" |
| 12 | required: true |
| 13 | - name: rate |
| 14 | type: number |
| 15 | display_name: "Rate (USD)" |
| 16 | default: "300" |
| 17 | required: true |
| 18 | - name: narration |
| 19 | type: str |
| 20 | default: "Hours spent on the software development project for client XYZ" |
| 21 | display_name: "Narration" |
| 22 | operations: |
| 23 | - type: append |
| 24 | file: "books/{{ date.year }}.bean" |
| 25 | content: | |
| 26 | {{ date }} * {{ narration | tojson }} |
| 27 | Assets:AccountsReceivable:Contracting:XYZ {{ hours }} XYZ.HOUR @ {{ rate }} USD |
| 28 | Income:Contracting:XYZ |