// ADMIN · CONFIG

Platform config

Edit values directly. Every save requires a reasoning string of at least 10 characters and creates an audit row.

← back

// invoices

  • invoices.default_payment_instructions_md
    Default payment instructions (markdown)

    Appended to every invoice PDF + the send email. Replace the placeholder account numbers BEFORE sending your first invoice.

    type: string
  • invoices.next_number
    Next invoice number (auto-increment)

    Used to generate sequential invoice numbers like AL-2026-0001. Worker reads + increments atomically on createInvoice. Reset to 1 at the start of each calendar year if you want per-year sequences.

    type: integer · 1 ≤ x ≤ +∞
  • invoices.number_prefix
    Invoice number prefix

    Prefix prepended to the invoice number (e.g. "AL" → AL-2026-0001). Operator can edit to match their preferred format.

    type: string

// outreach-hours

  • outreach.business_days
    Business days (0=Sun … 6=Sat)

    JSON array of weekday integers (0=Sun, 6=Sat) on which outreach emails are sent. Worker reschedules to next business day if current day is excluded. Default [1,2,3,4,5] = Mon–Fri.

    type: json
  • outreach.quiet_hours_end
    Quiet hours end (24h)

    Hour of day in operator timezone before which outreach emails are paused. Worker reschedules to this hour. Default 8 = 8am.

    type: integer · 0 ≤ x ≤ 23
  • outreach.quiet_hours_start
    Quiet hours start (24h)

    Hour of day in operator timezone after which outreach emails are paused. Worker reschedules to next business-hour window. Default 22 = 10pm.

    type: integer · 0 ≤ x ≤ 23
  • outreach.timezone
    Operator timezone

    IANA timezone the quiet-hours / business-days windows are evaluated in. Default America/Phoenix.

    type: string

// proposals

  • proposals.default_terms_md
    Default proposal terms (markdown)

    Terms loaded into every new proposal. Operator can override per-proposal in the create form.

    type: string
  • proposals.signer_link_expires_days
    Signer link expiration (days)

    How many days a signing link stays valid before transitioning to expired. Default 30. Set to 0 to disable expiration.

    type: integer · 0 ≤ x ≤ 365

// ungrouped

  • outreach.physical_address
    Physical address (CAN-SPAM footer)

    Plain-text business address appended to every outreach email footer. CAN-SPAM requires a valid physical postal address; remote-only businesses can use a registered mailing service or "US-only remote" with an email contact.

    type: string

// RECENT CHANGES

No config changes yet.