sfttech / abrechnung Goto Github PK
View Code? Open in Web Editor NEWPayment tracking and money splitting for groups :money_with_wings:
Home Page: https://abrechnung.readthedocs.io
License: GNU Affero General Public License v3.0
Payment tracking and money splitting for groups :money_with_wings:
Home Page: https://abrechnung.readthedocs.io
License: GNU Affero General Public License v3.0
When assigning positions of a purchase to clearing accounts e.g. by a recipe, it's hard to find items since they're totally unsorted and not easily searchable.
One can already use the browser-global search, though.
since we're agpl, we should provide a customizable link to the source code, which defaults to the upstream repo.
if somebody modifies the abrechnung, they should be able to change the source link to their repo easily.
When adding a new group by clicking the plus symbol on the front page, a popup appears where I can enter the group name and description.
Once I press "Save", the popup disappears, however no new group appears in the list.
First on a reload, the new group appears in the list.
SImilar situation when adding a transaction.
When uploading an image, it would be nice to have the most important image editing features:
when viewing what transaction an account is involved in, it should be obvious how it was involved (i.e. the concrete amount), so one can directly see which are postitive and negative (in red and green).
When creating a new account (the real one, not the clearing account), the description field is not editable.
When the account is saved and edited again, the description is editable as expected.
In the clearing account edit view, one should see the sum of shares.
This helps in seeing that enough participants were selected.
Implement a small helper in the UI to show the most efficient way to settle the balances in a group, e.g. for balances
this would result in the instructions
When editing a transaction for the first time, when you click the checkbox next to an account in order to add them to be a debtee of the transaction, the Website scrolls to the top of the page.
Currently it always just says "Abrechnung", it would be helpful when working with multiple open tabs to see what is opened in each tab, depending on the open view.
so one can enter ones tenancy at a central login page.
this can also be used for our demo instance - a click spawns a temporary tenant where one can try for a limited time.
Possible features:
If I am hosting an Abrechnung instance with restricted or disabled registration I still want to be able to invite my friends to join.
Options:
When there are many accounts in the position assignment table, it becomes really unreadable.
A solution is to "zoom out", but then the width limit of the table kicks in.
This width limit should be removable, or resizable.
One can remove it manually in the F12-hackermode (the max-width
), then the table becomes really reable even when one has zoomed out considerably.
Also the communist share section should be resizable, i.e. the delimiter between "for whom" and the items has to be movable.
add an option to have a transaction automatically repeat with a certain interval
For some applications it may be great to have a plugin-API, to easily add new features without having to deal with the core-abrechung and contribute the features for all users.
Plugin examples that come to my mind:
When you enter an item and don't assign it any usage, it is listed as "shared" as expected, but it's balance is actually 0 and is not shared at all. It vanishes and is not considered at all.
When the 'shared' checkbox is ticket, it's accounted for as it should be.
clearing accounts don't show up at all, even though the account is affected by its balance.
API already supports per-transaction currency settings, implement it in the UI as well
for enterprise setups, this is required.
instances hosted for some organization may require display of legal stuff, which has to be configurable easily.
When inserting a position or share to a user it would be nice to have an inline calculator.
e.g. 3 people bought the same dish for 4,56€ which is then billed as position with 13,68€. For user friendliness it's nice to just insert 3*4,56 and the result is immediately computed.
This will be also useful in many other places, where numbers are inserted, e.g. the value of a share.
In the item list each item should have a copy button which clones the item. So your bill contains 5 times the position "Schlagsahne" you only have to enter that once and the you can copy that item 4 times. The button can be next to the trash button.
It shouldn't be much effort to provide a good replacement for SAP.
We have all the basic blocks already: A database, an user interface, and an API.
World domination, here we come.
... Hopefully people will simply call the system SFT then :)
When you have several meals handled as clearing accounts, the humans participating may be the very similar between the accounts.
To simplify creation, copying a previous account would help. Then one can edit the differences.
trigger via webhook at the end of the debian package build action
Group members should be allowed to download all group data as a JSON dump.
Likewise, users should be able to create a new group by uploading a JSON dump.
This serves a multitude of purposes:
Not sure about binary attachments, they could be gotten as a zip file or whatever.
We should under no circumstances allow replacing group data with an offline backup, this would completely destroy the trustworthiness of group data.
basically if one just provides a dbname and no host, user and password, the postgresql unix socket authentication should be used (and encouraged to do so in the guide).
with that, no database password is needed.
host a demo instance of abrechnung somewhere so people can take a look
Possible measures to prevent abuse:
When assigning positions in a purchase, the columns become ambiguous when scrolling down.
One should be able to see what each colum means somehow.
Who changed what, when for groups, transactions and accounts.
I.e. back in time feature
currently the web app has no offline capabilities at all and does not deal well with unstable / slow connections as updates to local data is only fetched after websocket notifications.
Measures to decouple the websocket notifications from data changes due to actions:
Further improvements for future offline capabilities
Currently the changes from clearing accounts are not displayed in the balance overview of an account.
This is quite confusing to the user how the final balance is computed, especially if there is no transaction listed at all.
How it should be:
add the clearing account as entry with positive or negative effect so one can see it in the balance overview.
there one could enter things like the location where the purchase was done.
maybe should be a text area in the transaction detail view
some shops like metro use pre-tax entries for items, so we need to tax them automatically for correct item usage assignments.
also there's several tax categories possible.
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.