Pillar 4. FinTech, Payments, Double-Entry Ledger & E-Invoice
Immutable Double-Entry Ledgers, EMVCo VietQR, Stripe, Airwallex FX, and Vietnam Circular 78 E-Invoicing.
Pillar 4. FinTech, Payments, Double-Entry Ledger & E-Invoice
6 Domain Combo Suites (20+ Isolated Slices)
Double-entry financial bookkeeping, multi-currency escrow reconciliation, automated VietQR / Stripe payment processing, and Circular 78 tax compliance.
📦 Package Catalog
| Package Name | Path | Architecture Paradigm & Key Exports |
|---|---|---|
@kido/wallet-ledger | packages/wallet-ledger | Double-Entry Ledger + Micro-Decimal Crypto + Referral Clawback + NAV: • DoubleEntryLedger, EscrowEngine, verifyBalanceEquation• MicroDecimalAmountGenerator, CryptoTransactionMatcher• ReferralFraudGuard, executeWacbTransaction |
@kido/payment-vietqr | packages/payment-vietqr | EMVCo VietQR Generator (NAPAS 247 CRC16) & Bank Webhook Parser: • generateVietQRPayload, computeCRC16, parseWebhookPayload, VIETNAM_BANKS |
@kido/payment-stripe | packages/payment-stripe | Stripe Checkout, Webhook HMAC Verifier & Subscription Lifecycle: • StripePaymentService, verifyStripeWebhookSignature, mapStripeEventToDomain |
@kido/payment-airwallex | packages/payment-airwallex | Airwallex Global Multi-Currency Payment Intent & FX Settlement: • AirwallexClient, createPaymentIntent, calculateFxSettlement |
@kido/einvoice-vn | packages/einvoice-vn | Vietnam Circular 78/2021/TT-BTC E-Invoice XML Builder: • EInvoiceService, validateVietnamTaxCode, numberToVietnameseWords, buildCircular78Xml |
@kido/invoice-pdf | packages/invoice-pdf | Thermal POS Receipt (58mm/80mm) & A4 VAT Commercial Invoice Print: • renderInvoiceHtml, calculateInvoiceSummary, amountToVietnameseWords |
🔍 Key Architectural Patterns
1. Invariant-Checked Double-Entry Ledger
Every financial movement requires paired debit and credit journal entries. Transactions that fail the balance invariant Sum(Debit) = Sum(Credit) abort immediately:
import { DoubleEntryLedger, verifyBalanceEquation } from '@kido/wallet-ledger';
const ledger = new DoubleEntryLedger();
const entries = [
{ accountId: 'MERCHANT_ESCROW', type: 'DEBIT' as const, amount: 250000, currency: 'VND' },
{ accountId: 'CUSTOMER_WALLET', type: 'CREDIT' as const, amount: 250000, currency: 'VND' },
];
if (!verifyBalanceEquation(entries)) {
throw new Error('Unbalanced financial transaction');
}2. Standard EMVCo VietQR Generator
Generate instant bank transfer QR codes compatible with all 54+ Vietnamese banking apps (NAPAS 247):
import { generateVietQRPayload, VIETNAM_BANKS } from '@kido/payment-vietqr';
const qrString = generateVietQRPayload({
bankBin: VIETNAM_BANKS.MB.bin,
accountNumber: '0987654321',
amount: 500000,
purpose: 'ORDER12345',
});3. Circular 78 Legal E-Invoice XML Generator
Produce compliant XML invoices ready for submission to the General Department of Taxation (TCT) and providers like VNPT, Viettel, and MISA:
import { EInvoiceService, numberToVietnameseWords } from '@kido/einvoice-vn';
const xml = EInvoiceService.buildCircular78Xml({
invoiceSeries: '1C24TKK',
sellerTaxCode: '0402012345',
buyerTaxCode: '0100109106',
items: [
{ name: 'Cloud Architecture Consulting', quantity: 1, unitPrice: 15000000, vatRate: 0.1 },
],
});@kido/gemini-cookie-sync
Automated Google Gemini Auth Session Cookie Extractor, Chrome Extension Manifest V3 Sync Bridge, and Zero-Restart Hot-Reload Env Engine.
@kido/wallet-ledger
Dual-Wallet (Use / Earn) Double-Entry Accounting Engine, Withdrawal State Machine, Stateless Crypto Micro-Decimal Reconciliation, and Anti-Fraud Referral Clawback.