Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clarete/libofxjs
NodeJS Bindings of the C library
https://github.com/clarete/libofxjs
finance ofx-parser qfx-parser
Last synced: 4 days ago
JSON representation
NodeJS Bindings of the C library
- Host: GitHub
- URL: https://github.com/clarete/libofxjs
- Owner: clarete
- License: gpl-2.0
- Created: 2019-04-30T01:30:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T20:41:40.000Z (almost 2 years ago)
- Last Synced: 2024-12-16T02:50:16.512Z (7 days ago)
- Topics: finance, ofx-parser, qfx-parser
- Language: C++
- Size: 859 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- License: COPYING
Awesome Lists containing this project
README
# Table of Contents
1. [NodeJS bindings for LibOFX](#orge5741a3)
2. [Basic Example](#orgbfb2177)
1. [List transactions of all accounts in the file](#org1dd97e8)
3. [API Reference](#orgb54368b)
4. [Does it miss anything?](#org10f85b0)# NodeJS bindings for LibOFX
This allows you to parse bank statemetns in formats like OFX & QIF
using `nodejs`. This project only provides the bindings, it's
that does the heavy lifting of
parsing. The library actually does more stuff, but the binding has
limited feature support.# Basic Example
## List transactions of all accounts in the file
const accounts = libofx.parseFile("/path/to/file.ofx");
for (const account of accounts) {
console.log(`Account ${account.info.number}`);
console.log(` Balance: ${account.balance.ledger}`);
console.log(` Transactions`);
for (const tr of account.transactions) {
console.log(` * ${tr.memo} ${tr.amount} (${tr.datePosted})`);
}
}# API Reference
The library exports one function:
`libofx.parseFile(filePath: string): Array`.
The `Account` object has the following fields:
type Account = {
acctId: string,
type: libofx.AccountType,
name: string
number: string,
currency: string,
bankId: string,
branchId: string,
}The field `Account.type` may contain the following values:
- `libofx.AccountType.CHECKING`
- `libofx.AccountType.CMA`
- `libofx.AccountType.CREDITCARD`
- `libofx.AccountType.CREDITLINE`
- `libofx.AccountType.INVESTMENT`
- `libofx.AccountType.MONEYMRKT`
- `libofx.AccountType.SAVINGS`# Does it miss anything?
Opening issues and pull requests for fixing or extending the
software are more than welcome!