Skip to content

Scalable and ACID system to offload transfers and accounting storage from your system

License

Notifications You must be signed in to change notification settings

ericfong/balanc

Repository files navigation

balanc

Modern accounting (receipts, billings, pdf storage ...) toolchain and managed service. Making accounting easy and always balance.

npm npm state npm

NPM

Why

  • if you are using NoSQL, balanc can replace traditional lock and transaction required operations for orders, invoices, receives and payments
  • if you are using SQL, balanc can solve the scale and storage problem

Demo

Receipt Pdf Demo

API

Setup config
balanc.config({
  domain: 'your-company.com',
})
Record exchange and Receipt pdf
const exchange = await balanc.exchange({
  from: '[email protected]',
  to: 'user-123',
  gives: [
    {
      quantity: 2, // two months implied by item string
      item: 'Monthly Gym Membership',
      price: 100, // sub-total price of 2 monthly Gym
      // givenAt: new Date(),
    },
  ],
  takes: [
    {
      item: 'Cash',
      price: 100,
    },
  ],
  // isPreview: true,
})

const pdfUrl = await balanc.receiptUrl(exchange)

Issue payment reminder

const receivables = await balanc.getReceivables({
  from: '[email protected]',
  to: 'user-123',
})

const invoiceUrl = await balanc.billingUrl({
  from: '[email protected]',
  to: 'user-123',
})
// [{url, paidAt}]

Access Accounts

const numbers = await balanc.getExchangeNumbers({
  from: '[email protected]',
  to: 'user-123',
})

const balance = await balanc.getBalance({
  user: '[email protected]',
  item: 'Cash',
})
should(balance).be.equal(100)

const account = await balanc.getAccount({
  user: '[email protected]',
  item: 'Cash',
})
should(account.balance).be.equal(100)
should(account.transfers.length).be.equal(1)

const excelUrl = balanc.accountExcelUrl({
  user: '[email protected]',
  item: 'Cash',
})
// url that access xlsx file

How

About

Scalable and ACID system to offload transfers and accounting storage from your system

Resources

License

Stars

Watchers

Forks

Packages

No packages published