Păreri despre proiectul meu ROBOCONT

De ceva timp lucrez la o aplicație de contabilitate cu care să se poată țină evidența contabilă a unei firme, dar aplicația să fie folosită de oameni care nu știu contabilitate. Poate că sună un pic ciudat sau complicat de făcut, dar am zis că o interfața simplă și cât mai multe automatizări ar rezolva problema.
Zilele astea am urcat-o sus și aș vrea să aflu câteva păreri, sau dacă aveți sugestii, întrebări, etc.

Tech stack:

  • backend: GO (golang)
  • DBMS: PostgreSQL
  • frontend: Typescript, svelte, IBM Carbon Design
  • arhitectură: câteva servicii care rulează în containere orchestrate de kubernetes (k3s); aplicația principală este multi-tenant: fiecare instanță rulează în containerul propriu
  • hosting: hetzner cloud

Referitor la development, câteva gânduri:

  • GO: strongly typed, compilare extrem de rapidă care produce un singur binar executabil, viteză excelentă de execuție;
  • PostgreSQL este suficient pentru 99% din cerințele oricărui proiect, este foarte stabil, predictibil și dezvoltat în permanență, nu are rost să folosești alte DMBS noi;
  • typescript m-a ajutat enorm să elimin din eventualele erori ale “dinamismului” js;
  • svelte este de 1000 de ori mai simplu decât react iar ca features este la fel de bun; ecosistemul de componente nu este la fel de mare dar am găsit IBM Carbon Components care a fost suficient pentru ce voiam să fac, iar unde a fost nevoie am mai contribuit eu;
  • kubernetes e pic dificil la început de învățat (până înveți conceptele) dar mai târziu te ajută enorm, partea de configurație declarativă este foarte folositoare; am folosit k3s fiindcă include toate componentele pentru un PAAS și se instalează foarte ușor;
  • am evitat orice vendor lock-in, toate componentele sistemului se pot hosta unde vreau; posibil ca pe viitor să folosesc bare metal în loc de Hetzner, migrarea va fi foarte ușoară.

Siteul este www.robocont.ro

Puteți face un demo folosind siteul, e un buton pe homepage “Testați aplicația”. Deci, cum vi se pare?

15 Likes

Prea multe campuri text inghesuite pe pagina principala. Lipsesc cu desavarsire icons si alte elemente grafice ceea ce face utilizarea mai putin intuitiva si neplacuta.
Ca plusuri pare sa se miste foarte repede si sa aiba multe detalii si functionalitati (nu ma pricep la contabilitate).
Eu as imbunatati aspectul vizual masiv.

1 Like

Acolo unde-mi cere sa introduc o data lipseste un datepicker.

Imi place ca se misca instant, inteleg ca si backend-ul e gandit pt decada asta.
Ceva potential e, cred ca trebuie mai bine clarificate plusurile fata de solutii smartbill/smartbill conta care poate nu-s la fel de rapide dar cu siguranta sunt mai user friendly si isi inteleg mai bine utilizatorii.

LE: am observat ca exista 4 roluri de utilizatori. la generarea contului demo poate m-ar ajuta mai mult sa aleg rolul care ma intereseaza.

PS: ca si administrator de firma nu ma vad folosind-o. oricat ai da-o “folosita de oameni care nu stiu contabilitate”, atata timp cat apar chestii precum “nota contabila, cont debitor, reglare stocuri etc” inseamna ca sunt chestii care-i privesc doar pe contabili.

2 Likes

Mulțumesc, foarte bune sugestii, keep them coming! :heart:

Vrei sa spui ca ai incercat sa creezi o aplicatie user friendly pt. contabili?
Cred ca e de admirat tech stack-ul si viteza aplicatiei, in rest nu stiu de ce au nevoie contabilii.

Nu as amesteca nevoile unui administrator de srl cu cele ale unui contabil. E un elefant urias dpdv. UX.

1 Like

Să știi că nu sunt așa de diferite nevoile, provocarea e să faci separarea conținutului încât să îi mulțumești pe toți. Adică partea de contabilitate să fie în tabul / secțiunea ei, separată de restul.

Cât despre interfața programelor de contabilitate din România, cam ăsta e nivelul actual: https://www.google.com/search?q=program+contabilitate&tbm=isch - iar UX-ul este la fel cum arată UI-ul, deci cred că se poate mai bine.

pare complex projectul, cat ai muncit la ea? Prietena mea a lucrat in contabilitate si folosea SAGA din spusele e o aplicatie teribila, toti o urau, ca parere personala design-ul arata ca un side-project, stock-like, dar nu sunt target-ul tau.

Cu toate ca n-am studiat domeniul, tot nu as combina contabilitatea cu administrarea, adica nu as lasa admin-ul sa vada optiunile contabilului. choice paralysis Archives - Learn UX

Ce nevoi rezolva proiectul? Si ale cui?

Am avut SRL si la sfarsit de luna ar fi fost interesant ca soft-ul sa-mi faca automat un sumar cu facturile si cheltuielile, plus alte chitante/bonuri scanate la care eu doar sa ma uit si sa ii dau export/send to contabil. Stateam lunar sa le adun, scanez etc. si pierdeam timp.

Într-o formă sau alta, lucrez la programul ăsta de câțiva ani. Ce se vede acum, cu acest frontend este mai nouă, are doar un an :slight_smile:
Programul SAGA are mai mult de 15 ani vechime, nu poti sa compari din punct de vedere UI/UX cu ce avem astăzi: https://www.google.com/search?q=program+contabilitate+saga&tbm=isch

Designul e orientat mai mult spre business decât spre consumer.

Programul permite permisiuni granulare pentru fiecare modul/acțiune (plus altele).
Demo-ul este un pic cam copleșitor deoarece utilizatorul din demo este administratorul aplicației, care are permisiuni complete. În activitatea unei firme, permisiunile se alocă strict pe necesarul utilizatorului respectiv, care nu ar vedea ditamai meniul și zeci de acțiuni, ci doar modulele unde are el acces.

Cât despre situația ta, atât administratorul firmei cât și contabilul pot folosi aplicația, nu mai este nevoie să trimiți-i documentele contabilului, le are direct în aplicație.

As recomanda sa investesti masiv in UX.

Cam toate aplicatiile din domeniul asta sufera de aceeasi problema.

1 Like

Programele de contabilitate cat si alte dashboarduri complexe vin cu foarte mult cognitive load.

In mare parte in proiecte oamenii nu se axeaza pe asta, ci doar au impresia ca listarea actiunilor si a informatiei le va rezolva problema. Nu e neaparat o greseala, dar UX bun pentru un contabil inseamna sa-i iei din memoria lui temporara si sa o transferi in aplicatie (printre alte cuvinte).

Exemplul este exact in thread-ul de aici si cum autorul nu a inteles la ce m-am referit si care sunt defapt nevoile utilizatorului.

Daca aduci facturile si cheltuielile intr-un loc si spui ca contabilul sa si le ia de acolo, nu prea ai rezolvat nimic.

Problema e colectarea, nu locul unde se afla acestea (in doua aplicatii sau intr-una).

De ce sa si le ia, cand soft-ul i le poate trimite automat? Genul acesta de functionalitati dau impresia de UX bun, ceea ce si este pana la urma.

Nu e problema arhitectura informatiei, locatia si UI (mai ales la UI, vezi ca softurile alea vechi uneori au UX mai bun, pt. ca atunci cand au fost construite s-a pornit de la cerinte mai simple, iar acum nu mai fac fata pt. ca s-au schimbat nevoile).

Problema e lipsa de procesare, automatizare, iar asta nu o sa stii niciodata cum sa o faci, decat daca esti si contabil in acelasi timp (ca sa te studiezi singur si propria munca).

Mergand mai departe cu exemplul de mai sus, atunci cand soft-ul ti-a trimis o colectare gresita, urmatoarele actiuni pe care i le pui la dispozitie utilizatorului dau dovada de UX bun. Ok, cancel si reset/delete nu sunt de ajuns.

Cu un research bun, poti decide daca un modal sau mersul intr-o alta pagina salveaza secunde, care adunate se transforma in zile la sfarsitul anului.

Nu mai suntem in era informatiei, am intrat in era curated information, unde daca nu incepi cu UX si research, nu faci decat sa replici ce faceau altii acum 10-15 ani. https://www.tiktok.com/@joshterryplays/video/6930076150811184389

1 Like

De ce trebuie ca softul să-i trimită contabilului facturile și cheltuielile automat? Contabilul nu are nevoie de ele pe email fiindcă nu trebuie să le introducă în aplicație, pentru ca utilizatorul deja le-a introdus.

Pentru toate documentele și operațiile introduse, aplicația “face contabilitatea” automat. Contabilul intră o singură dată pe lună ca să verifice că e totul ok, eventual să mai adauge diverse operații care nu s-au făcut automat, și apoi să facă închiderea lunară - care și aia înseamnă de fapt apăsarea unui buton, fiindcă din nou, programul “face contabilitatea” automat.

1 Like

“A trimite” am folosit eu gresit, la asta ma refeream, sa primească in aplicatie cel mult un raport cu toate datele si sa le confirme.

1 Like

Eu apreciez ca are api simplu si usor de folosit si se misca repede.
Aici ar trebui sa ai un date time picker. Pot sa scriu orice in el

@weaseldotro eventual poti sa postezi si aici

Este un grup de contabilitate. Cred ca ei chiar sunt in targhetul aplicatiei :slight_smile:


Am distriuit link-ul unor studenti de la contabiliitate. Daca zic ceva, postez thread :slight_smile:

4 Likes

Hmm, mi se pare o idee bună să existe toate documentele și operațiile dintr-o lună agregate într-un singur raport pentru contabil, dacă la asta te referi. Am adăugat la tasks :slight_smile:

Însă nu poți ca acel raport să fie singura sursă de informații. Adica trebuie să ai și informațiile detaliate. Deocamdată :slight_smile: Poate pe viitor…

PRO: aplicatie complexa care se misca foarte rapid.
CONTRA: UX.
Sfaturi speficice nu am pentru ca nu ma pricep la UX. Dar aplicatia pare foarte incarcata pagina de demo. Cred alti useri au avut un feedback mai ok decat mine aici.

Dar felicitari pentru proiect. Se vede ca ai muncit mult la el. Cu siguranta o sa mai muncesti in continuare. Tine-o tot asa.

PS. Am vazut GO si Kubernetes am dat like instant.

4 Likes

O idee:

In general, contabilitatea externalizata tine evidenta contabila in propriile soft-uri in care are incredere pentru ca gireaza sub semnatura. Probabil ca de aceea multe aplicatii de facturare fac export to Saga.

Daca ai contabil angajat, atunci va folosi direct aplicatia ta, insa probabil softul de facturare trebuie sa fie un fel de ERP.

Idei Features:

  • Toate RPA-urile prezinta case studies pentru automatizarea procesarii de extrase bancare. Poate reusesti sa faci ceva “RPA ready” sau eventual sa vezi cum poti procesa fisierele cu format specific oferite de catre banci. Exista un format standardizat, dar am uitat cum se numeste…
  • Report builder (gen BI) / vezi ca exista cineva pe forum care lucreaza o astfel de solutie si, daca tin bine minte, picati si pe acelasi tech stack. Sau ceva integrare cu Studio.
  • Automation / Integrare cu Zapier, Integromat, etc.
  • Templating de documente.
  • Gamification
  • Share over email documente direct cu semnatura digitala embedded → adica integrare semnaturi digitale la nivel de user/ companie
  • Integrare pt management de documente cu Docupanda/ etc. sau expunere date clienti intr-un cont. (mai mult pt b2b)
  • Integrare SMTP 3rd party
  • Conectori pentru cele mai folosite platforme de ecommerce, crm, pontaj, salarizare, etc.
  • Integrare payment gateways.
  • Custom workflow builder pentru automatizare activitati si creare de alerte.
  • Procese de management approval.
  • Posibilitatea de a crea custom fields, etc.
  • Custom CSS/ personalizari theme.
  • Embeddable pe domenii proprii.
  • Whitelabeling?
  • OCR pentru introducerea automata de documente

Spor sa ai!

4 Likes

Înteleg perfect ce zici, și e un pic dificil că mă adresez atât unei firme cât și contabilului acesteia. Trebuie să fie toți de acord să folosească aplicația, altfel spus trebuie să îi conving pe toți. De obicei contabilul este cu aplicația lui (care face contabilitate), iar firma este cu aplicația ei (care face facturare plus alte diverse), iar din când în când se face o sincronizare de date, online sau offline.
În cazul meu, sincronizarea este întotdeauna în realtime fiindcă nu mai există o separare a bazelor de date.

Chestia cu “soft-uri in care are incredere pentru ca gireaza sub semnatura” nu cred că se aplică. Ideea e ca în toate programele de contabilitate se introduc manual toate datele contabile, iar programele îți generează apoi niște raportări. Nu este așa mare inginerie. Provocarea este introducerea automată a datelor contabile. Unii contabili vor fi reticenți din punctul ăsta de vedere: cum adică să nu introducă ei datele? cum adică să introducă programul datele automat? dacă nu le introduce bine?

Foarte bune sugestii, câteva le avem și eu în listă, pe restul le-am adăugat în tasks. :+1:

1 Like

Cu datepicker si datetimepicker mai greu :slight_smile: fiindcă ecosistemul componentelor svelte din păcate nu este așa de bine dezvoltat precum react. Uneori a trebuie să intervin eu să modific unele componentele ca să ajungă la un comportament care să mă mulțumească.
Datepickerul din librăria IBM Carbon Carbon Components Svelte are multe lipsuri și am preferat să folosesc un input chior. Ideal era să folosesc acelasi datepick atât pentru single date, cât și pentru date range, date time și date time range, dar nu are așa ceva din păcate. O sa setez acum ca să folosesc totuși pentru single date, pentru restul rămâne input chior, deși nu prea e consecvent.

O sa postez și pe grupurile de facebook de contabilitate, dar luni.