dckc / finquick Goto Github PK
View Code? Open in Web Editor NEWfamily finance tools of a closet librarian
Home Page: https://www.madmode.com/search/label/finances/
License: MIT License
family finance tools of a closet librarian
Home Page: https://www.madmode.com/search/label/finances/
License: MIT License
I'm looking at a gnucash income / expect chart and I wonder what's behind one of the bars.
chart.js ?
d3?
GnuCash is forever saying "cannot save DB" for which the only recourse I can find is restarting the whole app.
managing mysql is a bit of a pain; it seems like overkill by now.
I'd like to take advantage of Litestream to replicate the DB using s3/minio.
When I exported my gnucash mysql DB to sqlite3 (using gnucash from guix), the result was missing some custom slots
from lmSync.js
.
information_schema
in dbeaverloadTables.js
TODO:
https://github.com/dckc/quacken 95cfa9b 2014-12-14
for example, RHOC sale - from explorer. Teach browser to copy transaction(s) to clipboard; then paste and teach finquick to grok / sync.
maybe even account history, rather than scraping or even OFX.
and maybe drag-n-drop for files
https://github.com/dckc/finquick seems out of date
Comparing JSON values in a where clause doesn't seem to work in mysql.
finquick/brcal/src/book_ops.sql
Line 40 in 4279c8e
public cosmos rpc - Google Search: https://www.google.com/search?q=public+cosmos+rpc&oq=public+cosmos+rpc&aqs=chrome..69i57.3055j0j1&sourceid=chrome&ie=UTF-8
Cracklord's Public Blockchain Nodes: https://cracklord.com/nodes/
cosmos-rpc-api - npm: https://www.npmjs.com/package/cosmos-rpc-api
List of public full-node IP addresses ? : cosmosnetwork: https://www.reddit.com/r/cosmosnetwork/comments/batl2c/list_of_public_fullnode_ip_addresses/
validator.network: https://validator.network/#/
How about caching split_detail.json in localStorage?
Compressed should work for search: streaming decompress, split into lines, match.
I thought about weekly html files or uploading quarterly csv files to Google drive, but I'd rather not share with Google.
I've been doing pandas lately, which made me wonder about JS dataframe apis... This ine looks cool...
https://github.com/data-forge/data-forge-ts/blob/master/docs/guide.md#browser-installation-and-setup
But ordinary map / filter should work for this.
when I download my amazon history to a certain folder, auto-import into lunchmoney
systemd user unit like I did with discover
I downloaded a "complete" transaction report, but the transactions don't add up to the balance. It seems to be missing "transfers".
But I seem to be able to compute the balance using a DOM query:
acs = document.querySelectorAll('*[data-element="AmountContainer"]')
acs.length // 245
ns = [...acs].map(ac => Number(ac.textContent.split(' ')[0].replace('โ', '-').replace('+', '').replace(',', '')))
sum = ns => ns.reduce((acc, x) => acc + x, 0)
sum(ns)
To get associated transaction info, I'm starting with...
tis = document.querySelectorAll('*[data-component="TransactionItem"]')
As noted in the 2006 item, I have years of data in this tab-separated format; for example:
3/28/08 D0962 S STAPLES 00108084 ANKENY IA Canon Powershot SD Stuff:Major:AV R -249.99
I played with invisible XML and its playground and turned that into...
<tx num="S">
<date month="3" day="28" year="08"/>
<account>D0962</account>
<description>STAPLES 00108084 ANKENY IA</description>
<split status="R">
<memo>Canon Powershot SD</memo>
<category>Stuff:Major:AV</category>
<amount>-249.99</amount>
</split>
</tx>
using...
tx: date, account, @num, description, split.
split: memo, category, @status, amount.
date: @month, -"/", @day, -"/", @year, tab.
month: ["0"-"9"]+.
day: ["0"-"9"]+.
year: ["0"-"9"]+.
account: field, tab.
num: -space?, field, tab.
description: field, tab.
memo: field, tab.
category: field, tab { TODO: split on : ? }.
status: field, tab.
amount: field { TODO: constrain to number syntax? }.
-field: ~[" "], (~[#9])*. { don't start with space to avoid ambiguity in num }
-tab: -#9.
-space: -[" "]+.
TODO:
put Imbalance txs on a calendar; let M accept invitation to signal "my budget" or reply with info about why not. Have a bot send the appointments and hence get the replies. Harvest the replies in bulk and sync with gnucash.
Looking at the configuration of a report I just saved reminds me that it's in guile.
Usually I'm content to use Guile's SQL support to supplement GnuCash features, but I can't do it while GnuCash is running:
the dbi (SQL) backend which comes with GnuCash 2.4 is currently not designed for true multi-user access. -- GnuCash FAQ
I wonder if the guile interpreter in GnuCash would support some sort of API that I could use while it's running.
cc @cwebber
doesn't actually send transactions. just a notification
hmm... fetch transaction info to browser localStorage? (which dev / project aimed to do that?)
so a webhook couldn't do anything without a restart
https://github.com/kevinschaich/mintable
kevinschaich/mintable#36
not sure how to do double-entry accounting in a spreadsheet anyway
found via https://github.com/topics/personal-finance
The transaction page looks more like an invoice than a check register item
I struggled with basic usage.
I noticed someone starred this repo recently; from that perspective, the README is out of date. My current work is stuff like brcal/src/lmSync.js
with Agoric / airbnb js style etc.
hm... retroactively update CHANGELOG? https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli
yarn conventional-changelog -r 0 -p angular -s -i CHANGELOG.md
promote brcal/
package to top? or move Capper app down?
Line 88 in f642ca7
contrast with the lunchmoney transaction sync part, which loads all rows at once
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.