Skip to content
Ludy

Vy, your AI assistant, works under your authority.

Vy works through AI agents, and each agent is a position in your org chart, with a manager, a monthly budget, a risk limit and a kill switch. The accounting agent reads invoices and drafts the entries; only a person with the authority approves and posts them.

Open source under the AGPL. Runs on your own server with docker compose. Ludy Cloud is coming soon.

Org chart Gạo Sạch Mekong, example data
PersonAgent

Pick a position to see what is waiting.

Agent

Accounting agent

Reports to Chị Lan (chief accountant). May propose, may not post.

October budget
1,240,000 / ₫2,000,000
Risk limitR1
Waiting
  • Invoice 00001284₫32,832,000
    Công ty CP Bao Bì Phú Thịnh
    5/5 checks passedDr 152, 1331 / Cr 331
  • Rice purchase slip₫148,500,000
    Hợp tác xã Tân Hồng
    No authority codeEscalated to Chị Lan
  • EVN electricity, September₫1,946,780
    Acc 6422
    Ready to approve

A month of documents, approved from the keyboard

Ludy reads Vietnamese e-invoices, checks every number and proposes a journal entry under Circular 133. You review it, change an account if needed, and approve.

AI Inbox4 to review
To approveWarningsApproved
  • Công ty CP Bao Bì Phú Thịnh
    Invoice 00001284, 14/10/2026
    ₫32,832,000Acc 152To approve
  • EVN
    Electricity, September
    ₫1,946,780Acc 6422To approve
  • Viettel
    Telecom, September
    ₫880,000Acc 6422To approve
  • Hợp tác xã Tân Hồng
    Rice purchase slip
    ₫148,500,000Acc 152No tax code
VAT invoice 00001284
Series 1C26TPT, dated 14/10/2026
To approve
Seller
Công ty CP Bao Bì Phú Thịnh
Tax code
0312 345 678
Authority code
M1-26-7F3A2-00001284
Carton box, 5-ply, 60x40x40
2,000 pcs x 12,500
25,000,000
Packing tape 48mm
300 rolls x 18,000
5,400,000
Subtotal30,400,000
VAT 8%2,432,000
Total₫32,832,000
Checks5/5 passed
  • Line totals match
  • VAT rate 8% is correct
  • Tax code is valid
  • Has an authority code
  • Not a duplicate
Proposed entry, TT133Balanced
  • Dr152Raw materials30,400,000
  • Dr1331Deductible input VAT2,432,000
  • Cr331Payables to suppliers32,832,000
Account 152 used 6 times for this vendor
Example data
JK
Move

Step through the rows of the AI Inbox.

A
Approve

Asks for a two-factor code, then posts.

E
Change account

Pick another account; Ludy remembers it for that vendor.

⌘K
Command palette

Open a ledger, export to Excel, find a document.

Four steps from the mailbox to the ledger

Ludy does the first three steps and records each one. The last one is always a person with the authority to approve, with a two-factor code.

  1. Receive

    Forward an email or upload a file. Ludy takes e-invoice XML under Decree 254/2026 and Circular 91/2026, plus PDFs and photos.

    VAT invoice1C26TPT
    No. 00001284, 14/10/2026
    Seller
    CP Bao Bì Phú Thịnh
    Tax ID
    0312 345 678
    • 5-ply cartons, 2,000 pcs25,000,000
    • 48mm tape, 300 rolls5,400,000
    • VAT 8%2,432,000
    Total due32,832,000 ₫
    Handled by Ludy14/10/2026 15:58Received
  2. Check

    Line totals, VAT rate, the tax-code check digit, the authority code and duplicates. Fixed rules, no AI.

    • Line totals add up
    • VAT rate 8% is right
    • Tax ID is valid
    • Has the tax authority code
    • Not a duplicate of an earlier invoice

    If one check fails, the invoice is held and goes to a person.

    Handled by Ludy14/10/2026 15:585/5 checks passed
  3. Propose

    A TT133 entry lands in the AI Inbox with the reason for each account. Accounts are learned per vendor.

    • Dr 15230,400,000Raw materials
    • Dr 13312,432,000Deductible input VAT
    • Cr 33132,832,000Payables to suppliers
    BalancedDebit equals credit

    Account 152 has been used 6 times for this vendor.

    Handled by Accounting agent14/10/2026 15:59Proposed, not posted
  4. Approve

    The approver reviews, changes an account if needed and enters a fresh two-factor code. Only then is the entry posted.

    Approve invoice 00001284
    Enter the two-factor code to post
    Handled by Chị Lan, chief accountant14/10/2026 16:05Approved and posted

What an agent may and may not do

Every action has a risk level. An agent acts on its own up to its limit; above it, the action goes to its manager in the org chart.

ActionAgent acts alone (limit R1)Goes to a person
R0ReadR1ProposeR2Needs approvalR3Approval and two-factor code
Read invoices, books and the chart of accountsOn its own
Propose an entry when all 5 checks passProposes
Propose an entry with a warning, such as no authority codeChị Lan approves
Schedule a social postAnh Minh approves
Post an entry to the ledgerApproval and code

Example configuration. Limits are set per agent, by Anh Tuấn.

You do not need to be an accountant

Snap or forward an invoice from your phone. Ludy checks every number and drafts the entry. You review it and tap approve; your accountant gets a complete Excel file.

  • Reads XML e-invoices, PDFs and photos
  • Nothing reaches the books until you approve
  • Shows which document is missing information, and why
14:21Ludy
AI InboxGạo Sạch Mekong
Proposed entry
Bao Bì Phú Thịnh, 14/10/2026
Balanced
  • Dr152Raw materials30,400,000
  • Dr1331Deductible input VAT2,432,000
  • Cr331Payables to suppliers32,832,000

Account 152 used 6 times for this vendor

Approving asks for a two-factor code
Next, 3 more documents to approve
HTX Tân Hồng₫148,500,000
No authority code

One module per department, one org chart

The people and agents of each department work on the same data, with the same approvals and the same change log. Turn on the modules you need.

Ludy Accounting

AI Inbox for purchase and sales invoices, the general journal and ledgers, B01 and B02 statements, receipts and payments, bank statements, fixed assets, the VAT return as XML for HTKK, exports to MISA SME, books per legal entity and a monthly period lock.

Department ofChị LanAccounting agent
AI Inbox1 posted, 3 waiting for approval
  • Invoice 00001284, Bao Bì Phú Thịnh₫32,832,000PostedAcc 152, 1331
  • Rice purchase, HTX Tân Hồng₫148,500,000Authority code missingAcc 152
  • EVN power bill, September₫1,946,780Ready to approveAcc 6422
  • Viettel bill, September₫880,000Ready to approveAcc 6422

Accounts are learned per vendor. Next time Ludy proposes the account Chị Lan picked.

Subsidiary ledger, account 331
Bao Bì Phú Thịnh, after Chị Lan approved
Dr
Payment 03/1018,360,000
Cr
Opening balance 01/1018,360,000
Invoice 00001284, 14/1032,832,000
Credit balance32,832,000
Expected input VAT, Q4
2,688,980
  • Bao Bì Phú Thịnh2,432,000
  • EVN176,980
  • Viettel80,000

Agents

Add an agent the way you add a position: pick its manager, its budget and its risk limit.

  • Accounting agentManager: Chị LanR1
    October budgetRunning
    ₫1,240,000 / ₫2,000,000
  • Social agentManager: Anh MinhR1
    October budgetRunning
    ₫310,000 / ₫1,000,000

Tasks

One task list for people and agents, with due dates and an assignee.

  • Reconcile payables with Bao Bì Phú ThịnhAccounting agent20/10/2026
  • Add the authority code to the HTX Tân Hồng voucherChị Lan21/10/2026
  • Photograph the ST25 rice for the postAnh Minh18/10/2026
  • Export the September general journal, DoneAccounting agent15/10/2026

Social

Schedule posts for Facebook, Instagram, Threads, TikTok, YouTube, LinkedIn, X, Zalo OA, Google Business and more. Each channel has its own approval steps, and photos and videos live in one shared library.

Department ofAnh MinhSocial agent
  1. Fri 16/10
    How our rice is milled09:00, FacebookPosted
  2. Sat 17/10
  3. Sun 18/10Today
    New-season ST25 rice is in19:30, Facebook, TikTokWaiting for Anh Minh
  4. Mon 19/10
  5. Tue 20/10
    We are hiring warehouse staff08:30, LinkedInApproved
  6. Wed 21/10
  7. Thu 22/10

Ludy CRM

A public booking page for each kind of meeting. Clients pick a free time, both sides get a confirmation email with a calendar file, reminders go out on their own, and clients move or cancel with a link that works once.

Department ofChị Hoa
Wholesale rice consultation
30 minutes, at the Long An warehouse
Free times, week of 19/10
  • Mon 19/1009:0010:3014:00
  • Tue 20/1008:3014:00, Picked15:30
  • Wed 21/1009:30
  • Thu 22/10Fully booked
New bookingConfirmed
Gạo Sạch Miền Tây Co., Ltd.
14:00, Tue 20/10/2026

A client writes "is Tuesday afternoon OK?": Vy suggests 14:00 or 15:30, and Chị Hoa checks and sends the reply.

Vy proposes, people approve, every change is recorded

Ludy never trusts AI output on its own. Every number goes through fixed checks and every entry needs a person to approve it.

Fixed checks decide
Line totals, VAT rates, tax codes, authority codes and duplicates are checked by rules, not by AI.
Only an approver posts
Approving entries and changing members ask for a two-factor code entered in the last 5 minutes.
Append-only audit log
Nobody in the organization can edit or delete the history of changes.
Data kept apart per organization
PostgreSQL row-level security blocks every query across organizations.

Audit log

AtWhoAction
14/10/2026 15:58LudyReceived invoice 00001284 at the invoice mailbox
14/10/2026 15:58Checks5/5 passed: line totals, VAT rate, tax code, authority code, duplicates
14/10/2026 15:59Accounting agentProposed Dr 152, 1331 / Cr 331
14/10/2026 16:05Chị LanApproved with a two-factor code, posted

Run it on your own machine

Open source under the AGPL. One command starts the app, the database, sign-in and a test mailbox.

bash
git clone https://github.com/DOS/Ludy.git
cd Ludy
docker compose up

When it is up, open http://localhost:8080 and create the first account.

Pricing

Self-hosting is free. The cloud version is on its way.

Self-hosted

Free

Open source under the AGPL. All your data stays on your own server.

  • Every module
  • Runs with docker compose
  • Use the AI model you choose, including local models

Ludy Cloud

Coming soon

Ludy runs it for you, with no server to manage.

  • The same code as the self-hosted version
  • Backups and updates handled by Ludy

Questions

Can I use it if I am not an accountant?

Yes. Ludy drafts the entry and explains why it chose each account. You check the amount and the vendor and approve; Ludy points out anything that is missing.

Does Vy post entries by itself?

No. Vy, the AI assistant, only proposes. Fixed checks decide whether the numbers are right, and an entry is posted only when someone with the right role approves it with a two-factor code.

Which invoices can Ludy read?

XML e-invoices under Decree 254/2026 and Circular 91/2026 (and those issued under Decree 123/2020 before) are read exactly, without AI. PDFs and photos use an OpenAI-compatible model you configure, including models that run locally such as Ollama or vLLM.

Where is my data?

When you self-host, it lives on your own server and storage. Each organization is kept apart with row-level security, and you can export all of its data whenever you need to.

How does an outside accountant work with it?

Invite them as a member with the right role, or export the journal, documents and vendors to Excel and send them over.