Skip to main content

lim add

The add command is lim’s signature feature. Describe a transaction in plain language and lim creates the correct journal entry, including tax decomposition.

Basic Usage

lim add "<description>"

Examples

# Simple expense
lim add "AWS 11000 yen credit card"
✅ Communication     10,000 / Accounts payable  11,000
   Input VAT          1,000
📚 Learned rule for "AWS" (auto-suggest next time)
# Revenue
lim add "Received 550,000 yen from Acme Corp for consulting"
✅ Accounts receivable  550,000 / Sales revenue     500,000
                                  Output VAT         50,000
# Payroll
lim add "March salary for Tanaka, gross 400000, withholding 20000, social insurance 50000"
✅ Salary expense     400,000 / Withholding tax payable    20,000
                                Social insurance payable   50,000
                                Cash                      330,000

File Attachments

Attach receipts, invoices, or screenshots. lim extracts vendor, amount, date, and description using vision AI.
lim add "expense" --file receipt.jpg
📎 Analyzing receipt.jpg...
   Vendor: Starbucks Shibuya
   Amount: ¥680 (tax-inclusive)
   Date: 2026-03-15

✅ Meeting expense       618 / Cash              680
   Input VAT              62
📎 Document attached to journal entry

Multiple Files

lim add "office supplies" --file receipt1.jpg --file receipt2.png

Supported Formats

FormatExtensionsNotes
Images.jpg, .jpeg, .png, .gif, .webpAuto-resized to max 1568px (long edge)
PDF.pdfMulti-page supported, first 5 pages processed
CSV.csvBank statement import
Images are automatically resized before sending to the vision API. Files larger than 20MB are rejected. For best results, ensure receipts are well-lit and text is readable.

The 3-Step Judgment Process

When you run lim add, the engine processes your input through three steps:
  1. Rule Match — checks learned rules from previous entries. Zero AI cost. Instant.
  2. History Match — searches past journal entries with similar descriptions. Zero AI cost.
  3. AI Inference — calls an LLM to classify the transaction. Only used as a last resort.
If all three steps produce low confidence, the entry is created in draft status for human review.
# First time: AI inference (step 3)
lim add "GitHub 1100 yen credit card"
# => ✅ Communication 1,000 / Accounts payable 1,100 (AI inference, 87% confidence)
#    📚 Learned rule for "GitHub"

# Second time: Rule match (step 1)
lim add "GitHub 1100 yen credit card"
# => ✅ Communication 1,000 / Accounts payable 1,100 (Rule match, 88% confidence)

Flags

FlagDescriptionExample
--file, -fAttach a file (receipt, invoice, screenshot)--file receipt.jpg
--date, -dOverride the transaction date (YYYY-MM-DD)--date 2026-03-01
--draftCreate as draft (skip auto-posting)--draft
--yes, -ySkip confirmation prompt-y
--formatOutput format: table, json--format json

Interactive Confirmation

By default, lim add shows the proposed journal entry and asks for confirmation:
lim add "Uber 2500 yen"
Proposed journal entry:
  Travel expense     2,273 / Cash    2,500
  Input VAT            227

  Confidence: 85% (AI inference)

? Confirm this entry? (Y/n/edit)
Options:
  • Y (default) — confirm and post. The entry is learned for next time.
  • n — cancel.
  • edit — open an interactive editor to modify accounts or amounts.
Use --yes or -y to skip the confirmation prompt in scripts and automation.

JSON Output

lim add "AWS 11000 yen credit card" --format json --yes
{
  "id": "01926f3a-...",
  "effectiveDate": "2026-03-16",
  "status": "posted",
  "memo": "AWS 11000 yen credit card",
  "lines": [
    { "side": "debit",  "account": "Communication",    "amount": 10000 },
    { "side": "debit",  "account": "Input VAT",         "amount": 1000 },
    { "side": "credit", "account": "Accounts payable",  "amount": 11000 }
  ],
  "judgment": {
    "step": "rule",
    "confidence": 0.91,
    "autoPost": true
  }
}
When autoPost is true, the entry is posted without confirmation. This happens when a rule has been confirmed enough times (confidence >= 0.95). Use --draft to override this behavior.