Manpage logo

tkts-invoice - invoice generation commands for tkts

NAME  SYNOPSIS  DESCRIPTION  NAME  SYNOPSIS  DESCRIPTION  Invoice Types  Invoice Components  Prerequisites for Ticket Invoicing  Prerequisites for Project Invoicing  OPTIONS  TEMPLATES  EXAMPLES  AUTHOR  SEE ALSO 

NAME

tkts−invoice − invoice generation commands for tkts

SYNOPSIS

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"]

DESCRIPTION

Generate and manage invoices for tickets and projects.

NAME

tkts−invoice − invoice generation commands for tkts

SYNOPSIS

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"]

DESCRIPTION

Generate and manage invoices for tickets and projects.

Invoice Types

Ticket Invoices

Generated from individual ticket time entries

Project Invoices

Consolidated invoices for all tickets in a project

Invoice Components

Line Items

Time entries grouped by tag and company

Rate Calculations

Based on configured hourly rate

Tax Handling

Configurable tax rates

Payment Terms

Customizable payment period

Prerequisites for Ticket Invoicing

Before generating a ticket invoice, ensure the following steps are completed in order:

1. User Configuration

Configure tkts.conf with:
- Valid user name
- Company name
- Hourly rate (rate setting)

2. User’s Company Setup

Create your company record:
tkts company:create -n "Your Company" --abv YC --addr "Your Address"

3. User as Client

Add yourself as a client:
tkts client:create -n "$USER" -c YC

4. Client’s Company Setup

Create the client’s company:
tkts company:create -n "Client Company" --abv CC --addr "Client

Address"

5. Client Setup

Add the client to their company:
tkts client:create -n "Client Name" -c CC

6. Ticket Client Assignment

Either:
- Create ticket with client: tkts create -i "Issue" --client "Client Name"
- Or update existing ticket: tkts edit -t NUMBER

7. Time Logging

Record time on the ticket:
tkts time -t NUMBER [--tag TAG]

Prerequisites for Project Invoicing

Before generating a project invoice, complete all ticket invoice prerequisites plus:

1. Project Creation

Create project with client and company:
tkts project:create -n "Project Name" -c CC --client "Client Name"

2. Ticket Association

Add tickets to the project:
tkts project:add-tkt -p PROJECT_ID -t TICKET_ID

3. Project Status

Ensure project is in appropriate state:
- Should be "Active" or "Completed"
- Use tkts project:status -p PROJECT_ID to verify

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 are stored in ˜/.config/tkts/invoice.tf and use groff formatting. 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 <[email protected]>

SEE ALSO

tkts(1), tkts−ticket(1), tkts−project(1)


Updated 2026-06-01 - jenkler.se | uex.se