TKTS-INVOICE(1)
๐งพ tkts-invoice ๐ (that's TKTS-INVOICE(1) bestie, welcome to the invoice era)
okay so. you opened the invoice corner of tkts and honestly? this is where the money happens ๐ธ we're talking generate and manage invoices for tickets and projects. group-chat energy, but the flags are real. let's go ๐ซถ
โจ NAME โจ
tkts-invoice โ invoice generation commands for tkts ๐งพ๐ธ
๐ SYNOPSIS ๐
here's the short version first (yes, there are two, and yes, i'm showing you both because i refuse to leave anything out ๐ ):
tkts invoice:create [-t|--tkt number] [--start " date"] [--end " date"]
[--update " id"]
tkts invoice:list [-c|--client name] [-t|--tkt " number"]
tkts invoice:prepare [-t|--tkt number] [--client " name"]
and here's the full one with all the extra sauce ๐ โ --tax_rate, --payment_terms, --template, the whole glow-up:
tkts invoice:create [-t|--tkt number] [--start " date"] [--end " date"]
[--update " id"] [--tax_rate " rate"] [--payment_terms " days"]
[--template " name"]
tkts invoice:list [-c|--client name] [-t|--tkt " number"]
tkts invoice:prepare [-t|--tkt number] [--client " name"]
(psst โ yes, the quotes and spaces in there are exactly how the page shows them. copy them as-is, don't "fix" the vibe โจ)
๐ DESCRIPTION ๐
Generate and manage invoices for tickets and projects. that's the whole job and she ate ๐ฅ
๐ Invoice Types ๐
- Ticket Invoices โ generated from individual ticket time entries. one ticket, one invoice, no chaos ๐ธ
- Project Invoices โ consolidated invoices for all tickets in a project. the group project that actually works ๐
๐ฆ Invoice Components ๐ฆ
- Line Items โ time entries grouped by tag and company. so organized it's giving main character energy ๐
- Rate Calculations โ based on configured hourly rate. math but make it cute ๐งฎ
- Tax Handling โ configurable tax rates. the tax girlies get options โจ
- Payment Terms โ customizable payment period. pay me in 30 days or catch these vibes ๐ญ
๐ธ Prerequisites for Ticket Invoicing ๐ธ
okay bestie, before you generate a ticket invoice you gotta do these in order. no skipping, it's a whole routine ๐:
- User Configuration โ configure
tkts.confwith:- Valid user name
- Company name
- Hourly rate (the
ratesetting)
- User's Company Setup โ create your company record:
tkts company:create -n "Your Company" --abv YC --addr "Your Address"
- User as Client โ add yourself as a client:
tkts client:create -n "$USER" -c YC
- Client's Company Setup โ create the client's company:
tkts company:create -n "Client Company" --abv CC --addr "Client Address"
- Client Setup โ add the client to their company:
tkts client:create -n "Client Name" -c CC
- Ticket Client Assignment โ pick one, you don't need both:
- Create ticket with client:
tkts create -i "Issue" --client "Client Name" - Or update existing ticket:
tkts edit -t NUMBER
- Create ticket with client:
- Time Logging โ record time on the ticket:
tkts time -t NUMBER [--tag TAG]
๐ง Prerequisites for Project Invoicing ๐ง
for a project invoice you do all the ticket invoice prerequisites first, then these extras on top. yes, all of them. i don't make the rules ๐ซถ
- Project Creation โ create project with client and company:
tkts project:create -n "Project Name" -c CC --client "Client Name"
- Ticket Association โ add tickets to the project:
tkts project:add-tkt -p PROJECT_ID -t TICKET_ID
- Project Status โ ensure project is in appropriate state:
- Should be
"Active"or"Completed" - Use
tkts project:status -p PROJECT_IDto verify
- Should be
โ ๏ธ fr fr do the steps in order. skipping steps is how you end up with a sad empty invoice and a broken heart ๐
๐ OPTIONS ๐
-t,--tktโ Ticket number ๐ซ-c,--clientโ Client name ๐ค--startโ Start date for invoice period (YYYY-MM-DD) ๐--endโ End date for invoice period (YYYY-MM-DD) ๐--updateโ Invoice ID to update ๐--tax_rateโ Tax rate percentage (default:0.0) ๐ธ--payment_termsโ Payment period in days (default:30) โณ--templateโ Invoice template name (default:default) ๐
๐จ TEMPLATES ๐จ
invoice templates live in ~/.config/tkts/invoice.tf and use groff formatting. iconic combo, no notes ๐
available template variables include:
Basic Information โ full_name, address, cell_number
Company Details โ company, company_addr, company_zip
Client Information โ client_email, client_cellphone
Invoice Details โ invoice_number, issued_date, due_date, period
Financial Information โ line_items, tax_rate, total_cost, tax_amount, final_amount
โญ EXAMPLES โญ
generate invoice for a ticket:
tkts invoice:create -t 123 --start "2025-01-01" --end "2025-01-31"
list invoices for a client:
tkts invoice:list -c "ACME Corp"
prepare ticket for invoicing:
tkts invoice:prepare -t 123 --client "John Doe"
generate invoice with custom tax rate:
tkts invoice:create -t 123 --tax_rate 7.5 --payment_terms 45
๐ซถ AUTHOR ๐ซถ
Will Sinatra <tkts@lambdacreate.com> โ absolute legend ๐
๐ SEE ALSO ๐
tkts(1), tkts-ticket(1), tkts-project(1) โ go read the whole family, they all slay ๐
and that's the page!! ๐ this is tkts version 3.0, dated February 2025, mwah ๐ go invoice somebody, bestie ๐งพโจ
๐ฆ where this page comes from
- alpine 3.24: tkts-doc 3.0.2-r0 ยท GPL-3.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms