Historic Meeting Notes


Meeting history archive of GNUkhata the team


<2022-02-23 Wed>

Karthik

  • Spreadsheets UI
  • GkToolbar Component

Survesh

  • Fix Cr/Dr issue for groups [“Corpus” ,“Capital” ,“Current Liabilities” ,“Loans(Liability)” ,“Reserves”]
  • Fix CGST not being populated in GSTR-3B
  • Fix Phantom Contacts

Features

  • Configurable Invoice No. counter
  • GKDate accepts dates without ‘-’ separator

VK

Absent

R2

NIL

GN

NIL

<2022-02-17 Thu>

Karthik

  1. HSN Component
    • Vaidate
    • Search
  2. Data Export Component
  3. Auto calculation of dicount in create / edit product component
  4. A simple ping bot for gnukhata services using gitlab ci infra

Other miscellaneous styling changes

Suggestion to use json / csv for importing & exporting of an org’s data instead of relying on spreadsheets

Survesh

  • Fix issues with GST applicability
  • Port GSTR-3B texbyte code to openpyxl

VK

  • Display a note on export page that it is WIP & show info on what it exports
  • I suggest to keep export as seperate spreadsheets
  • We should add reports that are calculated at runtime to the export list for comparision with other softwares
  • Add timestamps to the filenames of the exported spreadsheets
  • Control sheet mechanism shows what it is imported so far & allows to upload files.

R2

  • Export list of
    • Accounts
    • Products
    • Transactions
    • Customers
  • Use GST portal compatibile GSTR-3B Returns spreadsheet format
  • Eval ERPNext’s GST reports code

GN

  • Checkbox for all items to be exported to spreadsheets

<2022-02-09 Wed>

Karthik

  1. HSN API with offline capability
    • Vaidate
    • Search
  2. Org Export API

Survesh

  1. Implement stock table recalculation program
  2. UI updates in gst rate applicability
  3. added supplier invoice no, date to invoice form

VK

  • Evaluate ICFOSS gst reports module

R2

  • Erpnext HSN json has more fields

GN

Absent

<2022-02-02 Wed>

Karthik

gkcore spreadsheet API’s

  • Unbilled delivery challan
  • cancelled delivery challan
  • gst r1
  • gst summary
  • cost center statement

Survesh

Updates to gst applicability

  • Remove to date from gst applicability
  • Make the GST applicability collapsable
  • Implement GST applicability in invoice
  • Increase col width of transaction details card

GN

  • Discuss with ICFOSS on agreement with texbyte

VK

  • Transfer the rate on gst input to GST section with default fy start date, on toggle

R2

  • Add a mirror of gnukhata on github

<2022-01-26 Wed>

karthik

  • cancelled invoices
  • categories list
  • budget cash report
  • budget pnl

Survesh

Create a tax2 table for tax applicability, and migrate tax tabledata here for backward compatibility

GN

  • Remove to dates from gst applicability
  • collapsable gst applicability ui below the gst input area

VK

  • Better validation for gst applicability
  • Initiate contact with icfoss about textbite source code
  • Investigate effcorp-gst python lib, textbyte gst code

R2

  • Editable total fields in invoices with option to select inclusive or exclusive of tax

<2022-01-19 Wed>

karthik

  • Worked on i18n translations

Survesh

  • fix: faulty reset to interstate igst irrespective of place of supply
  • fix: no gstin being shown when state code < 9
  • fix: bad UOM while creating business items after reset
  • ui: print screen will not be shown after create purchase

GN

  • use seperate table called tax2 for tax applicability & migrate existing tax data for backward compatibility

VK

  • Look out for backward compatibility while implementing tax applicability

R2

  • HSN codes are mandatory for turnover > 1c for given fy
  • gstin is not displayed in view registers
  • print screen visibility to be configurable

<2022-01-13 Thu>

Karthik

Gkcore Spreadsheet API’s

  • Transfer Note
  • Users list

i18n

  • Login
  • Select Org
  • Server Setup
  • User Management
  • About page

Survesh

feat(i18n): Adds i18n wrappers

  • Transaction pages (Invoice, Cash Memo, Debit Credit Note, Delivery Note, Rejection Note, Transfer Note, Vouchers)
  • Workflow (Transaction Profiles, Business Profile, Contact Profile)
  • Billwise
  • Bank Reconciliation
  • Balance Sheet
  • Accounts
  • Budget
  • Create Org
  • Config
  • Godown
  • Settings
  • Categories

GN

  • Unit / Component tests for gkcore

VK

  • queries regarding website framework
  • app should be able to work offline

R2

  • Inspect P&L statement
  • HSN codes validation & api

<2022-01-05 Wed>

Agenda: Review past meeting progress

Karthik

Migrated Spreadsheet API’s:

  1. cash flow
  2. all godowns
  3. accounts

Survesh

  • Context specific names for downloadable spread sheets
  • Add translation wrappers [Transaction pages]

GN

  • Idea of SQL dump for an org in a financial year

VK

  • Implement the import/export in existing gkwebapp & improve upon item

Intro

Yashaswi & Biki Talukdar introduced themselves & showed their interest in contributing to gkcore/gkapp

Conclusion

  • Aim to complete the translation setup for gkapp by next meeting

<2021-12-29 Wed>

Agenda: Review past meeting progress

Karthik New gkcore spreadsheet API’s:

  1. Profit loss
  2. Ledger
  3. ledger monthly

API Refactor

  1. refactor balance sheet
  2. refactor invoice list

Survesh

  1. Auto Delivery Note creation with invoices
  2. Auto create default godown
  3. Invoice page stock is fetched based on godown chosen
  4. Invoice Triplicate
  5. Invoice Attachment

R2

  • spreadheets should auto resize during api generation
  • image checks have to be performed before upload.
  • pdf file name should be context aware

GN

  • we could use headless libreoffice or another library than spending time on configuring
  • xlsx format is microsoft’s format & widely supported & interopable

VK

  • We should opt for open format.

Meeting history (2021-12-15)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Bug fixes and drill down options for GST-R1
    • GST-R3B API inital work
  • Survesh:
    • Global settings/config UI
    • Explore i18n tools for auto json generation

Points Discussed:

  • Feedbacks for the Global settings page,
    • Under language selection, use the full language name for the options, instead of just the first alphabet and locale code.
    • Use the term Language/App Language instead of locale for language selection.
    • The various possible tax modes will be NILL, GST, VAT, GST + VAT.
    • If there is just one godown, then it will be the default godown and when there are more than one, we can make the field editable. To maintain compatibility with existing data, say after this feature is rolled on and no default godown is chosen during a transaction that might use a godown, a godown called ‘Primary Godown’ will be automatically created and will be used as default godown.
  • Use of the vue-gettext i18n library, will be more helpful for us in the longer run, as gettext is part of GNU and will help us with passing GNU’s standard requirements when we try to publish GNUKhata as a GNU package.
  • Discussions about GST-R1 report,
    • Clicking on a product name in the report, should take to the invoices involving that product instead of that product’s profile page.
    • Services must have a UOM of OTH. Currently its empty.
    • Custom UOM must be mapped to a GST approved UOM and both names must be displayed in the GST report.
    • R2 has shared some data and forms related to GST-R1, GST3B based on which updates will be done.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-12-08)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Gk-state api & component
    • GSTR 3B initial work
    • Refactoring in R1 code
  • Survesh:
    • Static contacts profile header
    • Basic I18N
    • Fix for opening stock conflict in business profile

Points Discussed:

  • Discussions about i18n,
    • Explore tools that can generate and maintain the transaltion files (.json,.po) based on the translation strings in the code.
    • Don’t display the option to choose the language in all places. Keep it in the login page and once logged in, keep in the global settings page. Here a link to i18n contributions can be added.
    • Do not split phrases into individual words for translations as the sequence of words in a phrase may change based on the language’s grammar.
  • Comments on the opening stock conflict fix,
    • The current fix for the opening stock conflict could be improved upon by using the default godown, instead of using two either or options for opening stock. And this way the opening stock will always be tracked using a godown.
  • The GST summary can be added as an extra feature in the GST returns page. Convert the existing GST summary page into GST returns page.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-12-01)

Agenda:

  • Review past week’s progess

Participants: Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Ifsc component
    • Password components bug fixes
  • Survesh:
    • Cr/Dr for opening balance in Accounts page
    • Editable godownwise stock opening in Business Profile page
    • POS and Party mode of voucher creation for invoices

Points Discussed:

  • Comments on Editable godownwise stock opening,
    • The header of the right pane, needs to be stationary to provide more context to the page, when scrolled down.
    • [Feature Request] Default godown. A godown has to be marked the default, to which all purchases and sales will be made to. The default godown will be automatically created if none is provided during startup.
    • Need for the ability to choose a godown when creating an invoice, instead of linking a delivery note.
    • There is huge confusion with respect to the opening stock field and the godownwise opening stock fields. This confusion was caused because godownwise stock and the opening stock field are used for the same purpose in an either or fashion, but were assumed to be different counters. This issue can be fixed by making the opening stock field, un-editable when godownwise stock is set and point the user to edit the godownwise stock or provide a form on opening stock edit to select the godown to which the edit has to be made.
  • [Bug] Currently the app tracks inventory based on only quantity. This is refelcted in reports such as profit/loss page, where the closing stock is either 0 or the stock’s qty. This shouldn’t be the case.
  • Need for the ability to recalculate all the forms, inventory with the use of code, so that bugs that cause integrity errors in the forms, can be recalculated, without manually redoing the work.
  • The POS/Party voucher settings for invoices should be placed along with the global settings than the invoice page, as they are not edited often. And need a proper name to describe this feature (Refer R2 for this).
  • Discussions on the IFSC validation feature,
    • The IFSC after validation, could autofill the data by default and not be based on user’s preferrence.
    • Need support for multiple bank accounts.
    • [Improvement] The Bank accounts created must be linked with the account ledgers. Currently they are not linked.

Conclusion:

  • Future meetings will be conducted on Wednesdays at 11:30 AM, instead of Mondays.
  • Updates will be performed based on the points discussed above.

Meeting history (2021-11-22)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Create IFSC validation api
    • Docker compose file IFSC server in gkcore
    • Enable drill down in GST-R1
  • Survesh:
    • [Bug-Fix] Issue with transactions involving items with qty > 1, and GST
    • Global config for setting the default mode of payment
    • Added GST rates (0.25, 1.5 and 3)
    • Removed the required constraint on opening balances while creating an account

Points Discussed:

  • Discussion on about the newly added IFSC server,
    • Suggestion on using a bridge network for communication between the various servers inside the GNUKhata’s docker container (Needs more discussion).
    • Need to properly credit the Razorpay team for their IFSC docker container.
    • Since GNUKhata is in AGPL license and we package third party softwares that are of different licenses with it, we have to mention that GNUKhata packages third party software that are of different licenses.
  • In GST-R1 report and for reports in general, it would be nice if all the fields are drill downable in nature in someway.
  • Discussion on the updates required to the existing GST rates,
    • GST for the same product, has been seen to vary with time, with the quantity sold or purchased and with the rate at which it is sold or purchased.
    • Currently we only have provision for a constant GST rate for a product or service. This makes it very hard to cope with the complex GST system in place.
    • Thus we need provision for storing time, qty and rate based rules for applying GST and CESS on products and services.
  • In Create Accounts page, there is a need to record if the opening balance is either Credited or Debited.
  • Discussion on simplifying the terminologies credit and debit,
    • We could use some symbols like (+,-) to easily show that amount is being taken from us and given to us.
    • Gkwebapp has widgets to list the people to whom we have to pay money and those who owe us money. We could implement a similar one in gkapp as well.
  • Discussion on the current DB structure,
    • Currently when we roll close an organisation, a new organisation is created for the up coming financial year and the Contacts, Inventory data are migrated (copied) to the new organisation.
    • This need not be done and we can handle it differently, where we freeze the transactions pertaining to a time period upon roll close. Thus we maintain only one organisation, with one set of contacts, inventory, etc and transactions are tracked based on financial year.
  • Discussion on using I18N plugin for Vue 2 vs that of Vue 3,
    • The I18N plugin of Vue 3 has some breaking changes when moving from that of Vue 2.
    • Given that, we can only migrate to Vue 3 when VueBootstrap migrates to Vue 3. Which will take a while.
    • Also since it doesn’t take long to migrate, we can go with the I18N plugin for Vue 2 now and migrate to Vue3 when the time comes.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-11-15)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Rewrite R1 component to support history
    • Added R1 summary
    • Notify if selected filter is empty in product register
    • Gstin in report header
  • Survesh:
    • [Bug-fix] GSTIN update issue in Contact Profile page
    • Place of Supply
    • Autofill bank details in Invoice form

Points Discussed:

  • Discussion on the need for validating IFSC code field,
    • A basic validation based on regex is required at the minimum.
    • Razorpay publishes a IFSC dump periodically under the MIT license, which is also available as a docker image. We can create a server based solution using this.
  • Currently the same GSTIN can be used for many customers. But this shouldn’t be the case and must be fixed.
  • I18N support in gkapp is highly essential and a small sprint to add the basic infrastructure to support i18n strings is required.
    • The existing po files in gkwebapp can’t be used much as the text used in gkapp is not exactly the same as those in gkwebapp.
  • Discussions on GST R1 reports,
    • Need validations of the GST R1 data, so that they are ready for submition.
    • Need for an API to generate GST R1 results in json format.
  • Discussions on the website,
    • Currently the gnukhata.in server is maintained and provided by Abhijith. In the future when the new website is ready, we could ask Abhijith to shut the existing server and migrate to gitlab for hosting.
    • The current server also provides email services that are used for contacting the team. We could switch to the email based ticket system provided by gitlab, once the existing server is shutdown.
  • Q&A,
    • Can we close the issue that was raised in gkwebapp but was fixed in gkapp? It would be better if the issue was fixed in gkwebapp as well, before closing the issue.
    • What process to take with maintaining ledgers for transactions? Create two settings, POS and Party Based. The current ledger process is ok for the POS setting. For Party based setting, create the invoice on credit first (between ledgers sale & party) and then add the transaction for credit payment (between ledgers party & cash/bank).

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-11-08)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh

Updates:

  • Karthik:
    • Individual GST R1 reports
    • New component GkTooltip to show help
    • Fix trial balance data not loading
  • Survesh:
    • [Bug Fixes] Halved CGST and SGST in transaction profile page & “Not found alert” in workflow page
    • Added CSS to right align currency
    • Create Contact UI update (GSTIN based autofill & make fields except name not required)

Points Discussed:

  • If the GSTIN data that is fetched from the gov’s API is required for future use, storing it as a JSON is a good option.
  • Feedback on R1 reports,
    • The reports need to be tested and validated.
    • Need support for generating reports for more than a month.
  • In Create Invoice pages, need ability to auto fill bank details. Use Org’s bank details for a sale invoice and the Seller’s bank details for a purchase invoice.
  • In Contact Profile page, add the corresponding bank details.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-11-01)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh

Updates:

  • Karthik:
    • Initial work on gst r1
    • Fix filters in product register
  • Survesh:
    • GSTIN validation using public API

Points Discussed:

  • Feedback on online GSTIN validation,
    • Move the GSTIN field to the beginning of the form and add a radio button to choose between filling the form manually vs fetching the data from API.
    • Add fields to store GSTIN active status (useful while creating B2B transactions) and Trade type in the DB.
  • In product register, add a text stating “No results found”, when there are no results.
  • In GST-R1 resport page, display the GSTIN number at the top.
  • Discussion on releasing gkwebapp point release,
    • Before a new point release, extensive functional testing of the whole app is required and not just the features added.
    • The new build released should have more than just one feature added to it. For example in addition to fixing the Roll Over Bug, it could also contain an update to the GST-R1 report that adds latest GST compliance.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-10-25)

Agenda:

  • Review past week’s progess

Participants: Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Disable org registration
    • Search org name in select org
  • Survesh:
    • Component for downloading files
    • Spreadsheet API [gkcore]
    • Bug Fixes
      • Unable to purchase out of stock items
      • Issue with IGST/CGST/SGST
      • Validation for foreign GSTINs

Points Discussed:

  • Feedback on organisation selection module,
    • When using the newly added search bar, the names of other organisations must not be shown.
    • A different way to approach this would be to make the user enter the name of the organisation and checking if its a valid organisation name.
  • Feedback for the option to toggle the ability to create new organisations,
    • The message that is displayed when the create org feature is turned off needs to have information on how to resolve the issue as well.
    • For example “Your attempt to create a new organisation has been logged and admin will contact you” or “Contact admin at admin@admin.com regarding this issue”.
    • Need a separate panel for the admin who takes care of the GNUKhata instance. Here notifications related to the issues raised by users of that instance will be accessible by the admin.
  • In foreign GSTIN validation 99, 98 are used as state codes. See how ERP next handles this and implement likewise.
  • Feedback in transaction forms,
    • Make the sale of out of stock items configurable, as there are times where the company might need to create invoices for out of stock items and take care of the inventory later.
    • Need for the ability to generate pin codes automatically from state and address.
    • Pincode and address need not be kept as mandatory fields.
    • Need for the addition of Supplier Invoice Number and Supplier Invoice Date in the Invoice forms.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-10-18)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh

Updates:

  • Karthik:

  • Survesh:

    • Rework GSTIN field UI
    • Downloadable Spreadsheet
    • Complete the validation of JSON structure [gkcore]

Points Discussed:

  • Discussions on GSTIN and GST,
    • Place the GSTIN field before the PAN and the state fields, so they are auto filled once a valid GSTIN has been entered.
    • Can we use the API for getting the GSTIN related data?
      • Yes, there are these service providers called GSP’s (GST Suvidha Provider) who provide GST related services for a fee.
      • List of GSP’s, (https://www.gstn.org.in/empanelled-gsps).
      • We can provide an option in GNUKhata with which users interested in filing GST returns directly from GNUKhata can create an account to the GSP they want or the ones that we support and use them from GNUKhata.
      • Using a GSP will provide us the ability to check if a GSTIN is active or not, provide API’s to perform GST filings online, etc.
    • Priority tasks related to GST,
      • Generate GST returns and make them downloadable in JSON or Excel formats. The users can download the reports manually and file them in the GST website manually
      • Generate and file GST returns automatically from GNUKhata using GSP/ASPs.
    • R2 will create a new company in the demo site for gkapp and we will test and iterate on GST compliance related tasks there. The following features are required before this,
      • CGST/SGST/IGST field support in Invoices
      • Place of supply
      • GST categories
  • Comments on config UI in transaction pages,
    • If any of the elements in the create transaction page is hidden by using a config, it must be conveyed to the user.
    • Need better validation messages when there is an issue with the JSON structure of the config. (For example in what line number the error occured would be helpful)
    • The current JSON config must be converted to an easy to use form as entering JSON would not user friendly.
  • When Balance Sheet is downloaded as Excel file and printed, the Assets and Liabilities columns must appear horizontally than one below the other.
  • Should we double hash the passwords for more security?
    • Must check online if this practice is good and also find good a library that does this if it is.
  • Discussions about new website,
    • Shall we migrate the new website to production?
      • The content of the website has to be approved by VK before moving to production. So iterate on this with VK.
    • The “About” section of the website should include details about GNUKhata.
    • The new website has provisions for blog posts. We can start writing blog posts there. Possible blog post ideas,
      • Current status of GNUKhata, what we are doing, information about gkapp, updates to gkcore, expected release dates, etc.
      • Best practices for GST compliance.
      • User Manual for gkapp.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-10-12)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Updates to sidebar from last week suggestions. Search menu added to sidebar for mobile users
    • Auto complete component has clear selection styling changes
    • API handling code refactoring in some components
    • Misc style fixes
  • Survesh:
    • (html2pdf) Split tables into multiple pages and Add headers, footers
    • (config validation) Fix issues with json schema validation and Add validation for workflow list table config

Points Discussed:

  • Comments on the search option in the side bar,

    • Make the search button appear on the right to distinguish it from the other navigation links.
    • Keep the search bar button active when opening the side bar for quicker access.
  • In the case of a schema validation failure, the response message must be in such a way that it doesn’t blame the user for their mistake and help them solve the issue in hand. Avoid string language like ‘Invalid’ or ‘Illegal’.

  • Discussion of dounbts,

    • Can we store the random salts when salting passwords and hashing them?

      • Yes its ok, even with transparent salts, since a cracker doesn’t know the password, it would take them a longer time to crack the password.
    • Shall we just add password hashing for now or should we go for the total overhaul of the user management system?

      • For now just the password hashing is fine. Since we plan to make major changes to gkcore in the future, lets go with the new user management system then.
      • Pros and cons of Password hashing in the client side and server side,
        • When there is no SSL, Man in the middle attack can be avoided with client side hashing.
        • When there is more than one client side code, all of them have to implement

      the hashing individually. This can be avoided in server side hashing.

      • Also the password hashing added must be able to detect the change and hash the plain password and store it in DB.
      • MD5 hashing algorithm has 16 Hex characters, so detecting the difference between plain password and hashed password would be easy.
      • Since this is a critical task, create a gitlab issue and document the procedure for this task, before starting.
    • Shall we pusblish the gkcore and gkwebapp point release?

      • Yes, but prepare the release notes before that. Also document how the users with old code will be affected by the new code in the release notes.
    • Is SQL dump a good format for import and export feature of GNUKhata?

      • Yes SQL dump is a good feature, but also make sure that CSV format is also supported.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-10-03)

TBA

Meeting history (2021-09-28)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Menu search modal
    • Org image upload fix
    • Added download page for website
  • Survesh:
    • Store client side config in DB
      • Added Config fields in user and organisation tables
      • API to Read and Edit config
      • Store workflow page, left pane’s config using config API

Points Discussed:

  • Comments on storing client side config in DB,
    • Need version control of the DB, so that any change is tracked.
    • Need proper validation of the JSON based config before it is stored in the DB. The structure of the json and the value types that can be stored needs to be validated.
    • Maintain a wiki that describes the structure of the config and its possible values.
    • Need a UI feature to reset the configs and go back to square one when needed.
  • Discussions on the need for a good user management library and tasks to be done there after,
    • Currently we do not hash or salt our passwords and security question’s answers.
    • Using a proper user management library will take care of tasks like password encryption, authentication, password recovery, CRUD opertations etc.
    • Things to look out for after using a user management library,
      • Write access to the “users” table must only be with the library and not with any public API’s.
      • Existing User’s who were created without the library must not be locked out of their system, once this library is integrated. Proper testing has to be performed.
      • During password recovery, if the user doesn’t have access to emails and admin is providing them with a password, the application must force updation of password after logging in.
  • Discussions on the Global search feature,
    • Try to convert the global search feature into an advanced search feature.
    • For example, it would be nice if we could search for particular product from a products listing page.
    • Check libre office for inspiration.
    • Since the current search is used for navigation, it could named as Quick Access.
  • Comments on image upload feature in organisation profile,
    • It would be nice add validations and restrictions based on the image type and size.
    • For example, restricting files uploaded to be of type jpeg/png and max size 1MB.
    • It would be nice to use a third party library that performs the above tasks.
    • An image processor that converts any uploaded image, to a standard format and size would also be a good addition in the backend.
  • Points discussed on the procedure for deleting users,
    • It would be nice to add a password validation before deleting users to increase security.
    • Also the ability to deactivate or suspend a user from logging in would be a nice addition to deleting a user, where all the users created can be persisted.
    • Try to use decorators in python like @admin so that only users with certain privileges can access the certain API’s.
    • Maintain a wiki that describes the various roles a user can have and the actions that they can perform in the app.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-09-20)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Search & filter in product register
    • Sidebar updates from past week’s feedback
    • Hugo template cleanup, add blog & download pages
  • Survesh:
    • Bank Reconciliation
    • Links to ledger from Accounts, Balance sheet pages
    • Bug fixes: (CSS transfer issue when printing, Date Auto population issue)
    • Hide print buttons in mobile view

Points Discussed:

  • Comments on Bank Reconcilliation page,
    • Radio Buttons could be replaced with checkboxes so that the user could choose to view more than one table of data at a time.
    • See if its possible to add links to ledger page from Bank Reconciliation.
  • Comments on removing print buttons in mobile view,
    • Print buttons were removed in mobile screens as print options provided by the browser do not work in mobile phones.
    • As a replacement, pdf and spreadsheet generators are required, so that the data can be downloaded and printed later on.
  • The app’s versioning color strip in the app, must be updated on every commit.
  • Comments on Product register page,
    • The search & Filter used here could be generalised and used across the app.
    • Use of icons and color codes must be preferred for distinguishing the various filters, as just color coding may not be helpfull for users with color blindness.
  • The priority order of the remaining tasks,
    1. GST support
    2. Import/Export Data
    3. Printable pdf
    4. Printable Spreadsheets, CSV

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-09-13)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • search in trial balance
    • apply updates for side menu from past week
    • Hugo website template code cleanup.
  • Survesh:
    • Category (Create, Edit, Delete)
    • Update table structure in Balance Sheet
    • Minor UI fixes

Points Discussed:

  • Feature request in Create Category page, for having a autocomplete feature on the input field for entering the category name, as it will help avoid used category names.
  • Moving the nav bar options present in the workflow list table to the side bar under Master category.
  • Possible steps that can be taken to reduce the column count in Product Register page,
    • Combine the Document id, Document Type, Document particular into one column, where by only the Document Particulars is displayed and the Document type is denoted via pre determined icons.
    • Here Document Particulars will be hyperlinked, as the ID column was hyperlinked before.
    • Make the columns be user configurable, where in the users can choose which columns they want displayed.
    • Add a Document type filter to the whole list, where in only results pertaining to that Document type will be displayed and Document type columns could be omitted.
  • Website improvements,
    • Update the text “Mission Statement” to “About Us”.
    • Download the required open fonts and self host them for use in the website.
    • Screenshots of the webapp could be added as a slideshow in the website.
    • Since GNUKhata has been around for about 8 years now, the website must be able to showcase its maturity.
    • There exists a revamped version of the GNUKhata website, we can use the content used there, as it was planned and approved. Ashutosh might have a copy of it, VK will update us on its status.
  • Feature request in Accounts page for displaying data in table view, where their opening balances could be edited quickly.
  • Need for Jokes to adjourn the meeting.

Conclusion:

  • Updates will be performed based on the points discussed above.
  • VK to update about the status of the revamped website.
  • Meetings should be adjourned with a joke.

Meeting history (2021-09-06)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:

    • Ledger: Sort by Cr & Dr, Add Search bar
    • Exploring Consolidated final accounts
    • Experimenting with keyboard shortcuts using hotkeys.js
  • Survesh:

    • (Workflow) Left Pane Table column settings persistence and code refactorof that table to be print friendly
    • Update in Balance Sheet table structure and Added filter to hide rows with 0 as amount

Points Discussed:

  • Discussions on exploring for a FOSS alternative to Microsoft Visual C++ (MSVC) as a dependency for postgresql in windows due to its proprietary license
  • Discussions on adding the user configs used throughout the app to gkcore as blobs or JSONB fields
  • Update the table structure of Balance sheets based on this image: img
    • Keep all the Text in one column and split the amount column into three, one for each category (Group, Sub Group, Account)
    • Use minor indents to left in the text column to distinguish between the three category of accounts
  • Discussions on Side Bar item placements,
    • Under Master category, the workflow items like (Business, Contact, Invoice, etc.) could be listed
    • Under Help category, links to FAQ, Source code, tutorial videos, etc. could be added
  • Discussions on the new website for GNUKhata,
    • Start work on carrying forward the data from the current website to the new one in gitlab.io
    • We have acces to gnukhata.org domain as well, so we can even test the new website there
    • Later on we can make gnukhata.org the base website for GNUKhata and gnukhata.in as its Indian counter part
    • In the new website, keep the registration for getting download links an optional process than mandatory.
    • Also we can showcase forked projects of GNUKhata like onlinekhata in the new website
    • A revamp of the existing website was actually done but is not live currently, we could even use that as inspiration for the new website. (Must ask Ashutosh about this)
  • Discussion on adding support for .ods and .pdf support for downloadable reports than just .xlsx
  • Discussion on the need for GST filing support in GNUKhata, as its an essential feature of the accounting software these days. Must explore the GST API’s privided by the government.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-08-30)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Ledger view for from date & to date
    • Organise sidebar menu
    • Drill down in some reports
  • Survesh:
    • Balance Sheet
    • UI updates in Accounts page (Hide non filtered items)
    • UI to choose required workflow list column
    • Offline installer for windows (gkwebapp)

Points Discussed:

  • Discussions on sidebar link placements,
    • It would be nice to have Sales and Purchase as separate categories and having their related pages (Sales/Purchase Return, related Vouchers, etc) as links under them.
    • Adjust bills, Accounts, UOM could be placed as links under the Master category.
  • Discussions on the need for Report category and improving the legacy approach,
    • Do we need separate pages under the Reports category when we have those data already in other pages? We can apply filters and get the same reports there, as we shouldn’t create separate UI templates for the same data in several places.
    • Though there are several dynamic pages in which we can generate the required report by applying filters, there are still some reports (Balance Sheet, Profit & Loss, etc.) that would require a separate page to display them.
    • Also, Auditors using aged software will be accustomed to an interface with a reports category that groups all the reports in the app in one place.
    • So we can keep the legacy UI that lists all the reports in one place, and with time we can remove the extra UI templates for pages where we can generate reports by filtering the existing data, as maintaining several templates will be a hard task.
  • Need a Stock on Hand filter for the Products/Services list.
  • When opening the workflow page in desktop mode, the right pane is empty. This could be filled with the data of first item in the left pane.
  • Must check if we have permission to include Microsoft Visual C++ in our windows installer.
  • Payment Details(Bank Info) must be autofilled with the organisation’s data, in create Invoice form.
  • Need the ability to adjust an invoice On Credit, in its profile page itself (Without Going to Billwise Adjustment page). Also the information regarding the Billwise Adjustment happened on the invoice must be listed on the Invoice Profile page.
  • UI updates in the Balance sheet form,
    • Display the Subgroups and Accounts that are currently in collapsable view in separate columns.
    • Add a filter to hide the rows which have zero rupees. A text stating that this filter has been applied, must be visible when printed.
  • Use black coloured icons for edit buttons throughout the app.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-08-23)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Monthly ledger
    • Initial work on collapsable sidebar
    • Help component as modal instead of Tooltip
  • Survesh:
    • Added Print for Transaction profile page
    • Added Separate pages tp print Transaction workflow lists
    • Updated Workflow page UI

Points Discussed:

  • Comments on print pages for workflow lists,
    • A separate page for print is not required here, as the current workflow page uses the same API’s used in the print pages to fetch the same data, but only lists few of them.
    • We can provide UI options in the workflow page, to enable the user to view the extra fields that are currently being displayed in the print pages.
    • The options discussed are listed below,
      • An option to choose the default columns required by the user in the workflow page.
      • An option to toggle between 3 column and multi column view of the listing table.
  • Improvements discussed on the worklfow filters,
    • Need the ability to add more than one type of filter, like the ability to combine a filter for Cancelled Invoices, Sales Invoices and Invoices belonging to a particular customer.
    • Need the ability to query the table with text.
    • Side Note: The current gkapp also requires a global search feature, for which elastic search could be used.
  • Need for separation of Invoices into Sales and Purchases
    • Easy of Use.
    • Separation would also decrease an overhead of splitting sales and purchases when filtering out Invoices list.
  • The current default setting for maintaining a separate ledger account for Sale and Purchase of every product is overwhelming, we can switch to a per sales ledger account as default.
  • Doubt about the field “No. of Unlocked Transactions” in ledger page, clarify with Abhijith.
  • Discussions on improvements in the existing form help texts,
    • The some of the help texts available in gkwebapp, are too long and can be overwhelming at times for the user.
    • Need ways to make them short and still convey the information required.
    • We can try to split the long texts and place them across the form based on their context.
  • Discussions on plans for packaging GNUKhata (gkcore, gkwebapp and gkapp),
    • If we are going the debian way, we need to create separate debian packages for gkcore and gkwebapp.
    • Also we need to write test cases for the above packages if they are to be picked up by Debian stable release.
    • Also releasing gkcore and gkwebapp as pip packages is a good idea, as it would make it easier to convert them into a debian package.
    • In the same way, gkapp can be released as a NPM package.
    • So first we can release them in pip and npm registries and then we can go from there to debian releases.
    • For the current upcoming point release we can use Docker to package gkcore and gkwebapp for linux based operating sytems.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-08-16)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Trial balance
    • Updates to profit / loss, cash reports views
    • Hide demo company details in production mode
  • Survesh:
    • UI updates in budget page (remove card view, add table row collapse)
    • Added search filters in Accounts page
    • CSS overrides to display hidden styles in print view

Points Discussed:

  • Comments on print pages format,
    • When printing a table,
      • Make the table borders prominent.
      • Must check if its feasible to provide landscape printing options, when there are many columns.
    • When taking multi page printouts,
      • Page numbers are required. (e.g. 1 out of 2 pages)
      • If a table is printed across many pages, the table heading must be carried forward in the overflowing pages.
      • Also if there is a page heading, it should also carry forward across all the pages.
      • To implement these features, we can look at a server side solution using Libre Office Headless for print.
      • Or we can try to use the print library used by ERP Next.
  • Comments on Accounts page,
    • Hide the cards that do not satisfy the search query.
    • When a sub group or account is selected, hide the group or sub group containing it and only display the item that was searched for.
    • When a sub group is queried, show the list of accounts in it without a scroll bar.
  • The side menu items should be grouped under collapsable headings.
    • Possible headings are Transaction, Admin, Journal, Report and Others.
    • Example: img
  • Updates in Transaction Profile page,
    • Add Links from the Invoice and Cash Memo profiles to their corresponding ledger pages.
    • In mobile view the vertical bill item table takes up a lot of vertical space, this should be reduced.
  • In Trial Balance page, the help text shown could be split into three parts and shown separately for the 3 types of trial balances.
  • Discussions on Bank Reconciliation statement,

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-08-09)

Agenda:

  • Review past week’s progess

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Profit & loss statement
    • Cash flow statement
    • Attempt to build gnukhata as snap
    • Web template has been added to gnukhata.gitlab.io repo
  • Survesh:
    • [Bug Fix] Faulty contact selection using URL params
    • Budget List UI to Cards
    • Added ability to load budget data with URL params
    • Worked on GNUKhata windows build with pgsql binaries

Points Discussed:

  • Discussions on the ability of windows installer to work on low config machines,
    • Need for minimum hardware requirements and benchmarks is there.
    • Since GNUKhata is dependent on python 3, we can say that any hardware + OS combo that supports python 3 can run GNUKhata on it.
    • Installers can be made for both 64 and 32 bit systems, but prioritize more on 64 bit.
  • Comments on Profit and Loss page,
    • Use normal font weight than bold in the table.
    • Add hyperlinks to ledger page when clicking on the Account name in table.
  • Comments on print pages format,
    • Increase the horizontal offsets (empty space) in the left and right side, so that its printer friendly.
    • Need to improve the looks of the print page content. (R2 will share some examples for this)
  • Dicussions on the application packaging tools for linux based OS,
    • Appimage and flatpak do not seem to be good choices for server based applications.
    • Snap seems to be a good fit here and has 32 bit support as well.
    • Debian packages are also widely supported and easy to work with.
    • We can choose either Snap or Deb, based on ease of maintaining and support across platforms.
  • Updates to the current website (gnukhata.in),
    • Certain elements available in the current front page of gnukhata.in have been added after due consideration, and those elements need to be translated to match with the new UI updates.
  • Comments on the Budget page updates,
    • The card view UI can be omitted, as the table view is good.
    • Make the table rows collapsable.
  • Comments on Accounts page,
    • Need search and filter options to query the list of accounts.
    • Show the list of transactions related to the accounts when clicking on them.
    • Show the account balance near the account name.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-08-02)

Agenda:

  • Review past week’s progress

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Categorywise stock on hand
    • Contact list report
    • Updates to login page from feedback of previous meet
    • CI setup for Static Application Secuity Testing (SAST)
  • Survesh:
    • Budgets: Create, Edit Delete
    • Added Auto generated Vouchers for Invoice and Cash Memo in their profile page.
    • Added corresponding icons for filters in workflow page
    • Added alternating stripes to the workflow list table

Points Discussed:

  • Comments on the windows installer of gkwebapp desktop application,
    • Need for 32 bit support.
    • Need the minimum system requirements for installation.
  • Comments on Budget flow,
    • Need to check if inflow/outflow and income/expense are the commonly used nomenclature.
    • The Budgets list page must reload the last visited budget, when using the create/ edit options.
    • Fix the UI bug that appears after deleting a budget.
    • In Budget Report table, make variance and variance (%) collapsable in mobile view.
  • Comments in workflow page,
    • In Filters, Need ability to search for different types of fields available e.g. Invoice No., Date, UserName
    • The ability to change the column type in the workflow list page, e.g. In invoices list, user could choose to view Invoice no instead of Customer/Supplier name.
  • Try to incorporate Categorywise Stock on Hand to Stock on Hand page by adding category as a filter, so that all Stock on Hand data is viewable in the same page.
  • In Contact List report’s print output, add serial number to the rows and add current account balances of the contacts.
  • Need to enquire with GN about using Snap for packaging gkwebapp for linux based distros.
  • Can take inspirations for the invoice UI from https://getswipe.in, a competetor of the web app vyapar.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-07-26)

Agenda:

  • Review past week’s progress

Participants: GN, R2, Survesh, VK

Updates:

  • Karthik:
    • Align all buttons in same card in login / select org
    • Product service list report. Sorting by product/service
    • WIP Category wise stock on hand report.
  • Survesh:
    • Updated URL based on the group, subgroup, account selected in accounts page
    • Added deleted Invoices, Vouchers in workflow page and added Delete DelNote option.
    • Added Budget List

Points Discussed:

  • Comments on Budget List Page,
    • The current table view in mobile, could be replaced with card view. so that it matches the accounts page UI.
    • Provide an option to switch between table UI and card based UI so the UI choice is left to the user.
    • In table view, some columns are hidden and require scrolling. Indicate the page is scrollable with a swiping hand icon.
    • Check https://qbo.intuit.com/redir/testdrive, for inspiration on how budget UI is handled.
  • Comments in Workflow page,
    • Add appropriate icons for filters in workflow page.
    • Add indicators to show deletable Delivery Notes.
    • Add alternating stripes to the workflow page list.
  • Feature request in Create Invoice page,
    • Use Case: After the current financial year is roll closed, in the next year we need to be able to create an invoice for a purchase that took place in the roll closed year. This is done by specifying the Invoice Date and Id that was used by the seller in the previous year.
    • Need 2 extra fields to store the Supplier’s Invoice No. and Date to achieve this.
    • Check https://margbooks.com to see how this is implemented
  • Comments in Login Page,
    • The label’s that are not required are missing the red * and is causing an alignment mismatch with other labels that have one. Must level out this space to make all labels aligned.
    • The Demo account details title does not require an underline.
    • Follow the alignment pattern used in forms for demo account details card.
    • In production deployment, remove the demo account details in login page. For this maintain a variable in the server to distinguish between production and demo deployments.
    • Currently the password can be set the same as username, the password security check must not allow this.
    • Add “GnuKh@t@2021” as the placeholder for password field.
    • Make the password checks mandatory in production deployments.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-07-19)

Agenda:

  • Review past week’s progress

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • GKAPP
      • Overhaul of login module. Split into several components
      • gk-cardheader component
    • GKCORE
      • Complete godown incharge migration code
      • Rebuild gkcore docker on devel branch
  • Survesh:
    • Change the UI of Account list
    • Convert Add and Edit accounts into separate views
    • Voucher (Edit, Delete)
    • Transaction form names and confirmation boxes
    • Update url when in edit mode in Invoice form
    • Add missing log calls in Transaction forms + few other forms

Points Discussed:

  • Is Rollover’s progress written to log file, as several tables are migrated it would be easy to debug, when an error occurs? Currently no, needs some research.
  • Comments in Login page UI,
    • The login button has to be in the right side than left.
    • Change server link must be aligned with the change organisation button.
    • Make the Org Name selection searchable.
    • Remove Profit/ Not Profit text.
  • The universal nav bar should be fixed to the bottom of the page. Currently in pages with content that takes less vertical space, the nav bar appears in the middle of the screen.
  • Comments in Accounts page,
    • Add closing balance with cr or dr, near the account
    • The Account Edit and Delete options must be hidden based on user roles
  • Show Deleted Vouchers in the Voucher List in workflow page.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-07-12)

Agenda:

  • Review past week’s progress

Participants: GN, Karthik, Survesh

Updates:

  • Karthik:
    • Separate url for creating & editing User, UOM and Godowns
    • Bug fixes for godown component
    • Contacts / Business auto collapse & styling
    • Work on report pp header
  • Survesh:
    • Added Account Forms (CRUD)
    • Added Delivery Note support in Invoice form
    • Added information page after creating Invoice, Purchase Sales Order, Debit Credit Note, Rejection Note, Transfer Note. (Also updated gkcore to return note id after successful creation)

Points Discussed:

  • Comments on Account form,
    • The row numbers are not required in Mobile view.
    • Rather than having the account list as a long table with data, display it as nested cards. Group -> Sub-Group -> Accounts
  • Comments on having separate URL paths for create and edit of (User, UOM, Godowns),
    • Having separate URLs for create and edit operations is an objective approach and is a good practice to follow, even for similar cases throughout the app. (e.g. Accounts Forms)
    • This also allows for easily navigating to a certain point in the app with just the URL, and can also be shared easily with others.
  • Discussion on plans for writing Unit Tests for gkcore (Test Driven Development approach). This will also make it easy to be released as a python package, as pip3 requires Unit Tests as part of its package requirements.
  • The meeting ended with updating current progress in the gitlab progress tracking issue.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-07-05)

Agenda:

  • Review past 2 week’s progress

Participants: Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Gkcore
      • Added feature to set postgres database URL with GKCORE_DB_URL env variable
      • Added CI configuration which automatically builds gkcore, connects to postgres & run tests
      • Attempt to fix tests
      • Work on rollover module
    • Gkapp
      • Added option to set custom URL for gkapp via GKAPP_URL env variable
      • UI changes to navbar, sidebar
      • nav & refresh buttons for in app navigation
      • fields sorting for stockonhand
      • CSS changes for print view in reports
    • Others
      • deployed pgAdmin on test server to visually see database & helps with SQL commands
  • Survesh:
    • Gkcore
      • Work on rollover module
    • Gkapp
      • Added auto generated dates, form numbers and print pages for Transactions (customizable)
      • Moved Invoice form to new codebase based on components
      • Added Transfer Note forms
      • Added Vouchers to workflow page

Points Discussed:

  • Dicussions on Data Migration to New Organisation after Rollover,
    • Can the user choose what data can be migrated during this process? No, currently a default set of required data is migrated, so no choice is provided.
    • Need to intimate the people in the org, when this rollover happens.
    • Add rollover, new org creation and data migration after rollover to logs, for security reasons.
  • Discussions on the ability to use a remote Database for gkcore,
    • If and when a DB switch occurs, it has to be recorded in gkcore somewhere (like logs), for security reasons.
  • Need a way to intimate the user in the UI if and when a server crash happens.
  • Discussions on the Printing formats of Stock on Hand Reports,
    • When printing a report after applying some filters, those filters have to be mentioned in the printed copy.
    • Need an option for adding Printed By and Printed On data to the print copy. (This feature will be required on all pages that can be printed)
  • Discussions on Transaction No,
  • In Transaction form tables, index numbers are needed.
  • Need more clarity on which godown the purchased products go to.

Conclusion:

  • Updates will be performed based on the points discussed above.

Meeting history (2021-06-28)

Meeting was postponed to 2021-07-05

Meeting history (2021-06-21)

Agenda:

  • Review previous week’s progress
  • Discuss issues raised in the previous week
  • Discuss about Project Milestones, Website and Dev blog

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Stock on Hand Page
    • Register Reports (WIP)
  • Survesh:
    • Workflow profile pages for added Transactions
    • Stock on Hand Validation in Transaction form Bill tables
    • Bug fixes

Points Discussed:

  • Comments on Rejection Note form
    • Change text “Rejection In” and “Rejection Out” to “Sale Rejection” and “Purchase Rejection”
    • Auto Populate date
    • Show a printable/shareable page after the Rejection Note creation (Do this for all Transactions as well)
  • Qty field in Bill tables must be UOM aware and only allow decimal values for supported UOM
  • Need a back button in Workflow page, to go back to any previous page
  • Comments on Stock on Hand Page
    • When selecting Godownwise, list all the godowns instead of choosing one
    • Add a “Choose all Products” option to the Product selection dropdown if possible instead of external check box
  • Add links to Invoices from Register Reports
  • Discussion on Project Milestones
    • First major milestone would be creating a feature complete version of existing GNUKhata Software
    • Second Milstone would be GST compliance, Bank Reconcillation, etc.
    • Future Milestones would possibly include gkcore upgrades, adding Blockchain as Middleware.
  • Discussion on Updating current website
    • Add updates about current progress and activities to the website
    • Move website hosting to gitlab (Should be peer tested before going live)
    • Add a Suggestion box feature to the website, where users can send in suggestions
    • (WIP) New website layout link: https://kskarthik.gitlab.io/gkwebsite/
  • Discussion on a point release for the existing GNUKhata software, with bug fixes for gkcore.

Conclusion:

  • UI updates will be performed based on feedbacks received
  • First major milestone will be feature completing the existing GNUKhata software followed by milestones with additions to it.
  • The current GNUKhata website will be updated and hosted in gitlab.
  • A point release will be made for existing GNUKhata software with bug fixes and additions to gkcore.

Meeting history (2021-06-14)

Agenda :

  • Review previous week’s progress
  • Discuss about issues raised in the previous week

Participants: GN, Karthik, Survesh, VK

Updates:

  • Karthik:
    • In Product Register
      • Added Godownwise support
      • Added link to Invoice listed
    • Added Cost Center
    • Display Org Image from DB
  • Survesh:
    • Integrated Transactions in Workflow page
    • Bill Table UI imporovements for Mobile view

Points Discussed:

  • Several questions were raised on Cost Center and Budgetting features
    • How Cost center and Budgetting features work?
    • Whats the difference between them both, given that they both store budget amount for an entity?
    • Discuss with R2, Arun Kelkar and Abhijith about these questions.
  • Suggestion to use the Organisation Image from DB in reports that are generated (Pdf, Printable screens, etc.)
  • Discussions on the issues raised by R2 on the Product Register Report
    • (#129) Differentiating Between Invoice types is possible, currently not visible in demo deployment as no other type of Transactions are made.
    • (#128) To tackle having stocks of products in negative, its better to intimate users about low stock in Transaction forms. We will implement better validation and warning in the Transaction forms.

Conclusion:

  • Questions raised will be discussed with R2, Arun KelKar and Abhijith for better understanding.
  • The List of tasks done and pending needs to be updated in Task Map Issue in Gitlab.

Meeting history (2021-06-07)

Agenda:

  • Review Previous week’s progress

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Product Report
    • UI Updates to Side Bar
    • Password Verification Component
    • Login Page UI updates
  • Survesh:
    • Date component Validation
    • Multiple Row support for Vouchers
    • Debit Credit Note Form
    • Switch between CGST/SGST & IGST in bill table

Points Discussed:

  • Discussion on having login passwords optional for cases such as local deployment.
    • Since the password validation is not strictly enforced, weak passwords can be used in those cases.
  • Discussion on creating an automated solutions to right align the form labels.
  • In places with long lists of data, (like choosing an invoice in Debit Credit Note, etc), need a search widget with advanced filters to query and find the required data.
    • Later a SQL query API could be added, through which the frontend can query the DB in several ways.
  • Comments on the bill table UI
    • The current pagination UI is not intuitive and requires an update.
    • The table requires two modes, (1) List items mode (2) Edit Mode
    • When clicking on an item from List Items mode, must move to the edit mode with selected item.
  • Discussion on whether Debit Credit Note be created for a Customer or Supplier directly instead of an invoice.
    • In the case of customers or suppliers, vouchers are preferred than Debit Credit Notes.
  • In Invoice table, CSGT/SGST and IGST must be chosen based on place of supply than using just the states of Organisation and Party.
    • This is because some invoices may not need a Customer Shipping Address, like in hotels serving food. (e.g.)
  • Comments on Product report,
    • Text “Product Register” could be used instead of “Product Report” and “Document No.” could be used instead of “Inv/Dr/Cr No.”
    • Needs more filters to query the report list
  • Discussion on need for a place to track where we are in the project.
    • Currently we track the progress API wise in gitlab (#55), this could be used to track even UI tasks.

Conclusion:

  • The updates discussed this week are to be performed.
  • The progress of the app and the tasks pending are to be tracked in the gitlab issue used for API progress (#55).

Meeting history (2021-05-31)

Agenda:

  • Review previous week’s progress
  • Discuss previous week points with R2
    1. The term used for Rejection Note (Rejection, Return or Cancel)
    2. Showing Tax fields and discount in Rejection Note Table
    3. Adding a boolean flag to UOM to note if its quantity is fractional or not.

Participants: GN, Karthik, R2, Survesh, VK

Updates:

  • Abhijith:
    • Login credentials for Gnukhata.in
  • Karthik:
    • Remembering last visited organisation (Login Page)
  • Survesh:
    • Bill Table UI updates (vertical and horizontal modes)
    • Date component with different date format support

Points Discussed:

  • Discussuion on the Bill Table updates:
    • The toggle option between vertical and horizontal modes can be avoided as it can be confusing and based on the screen size, one of the two modes may not be user friendly.
    • Use vertical mode as default for vertical mobile screens and horizontal mode for wider screen sizes.
    • Use Zoho’s mobile app as a referrence to improve the vertical table layout.
  • The date component requires a validation when a bad date is entered manually.
  • Discussion on the Login page updates:
    • Can the last used user name be auto loaded, as its done for the company name and financial year? Currently not possible as it requires API support.
    • The form labels can be right aligned as in Transaction forms.
  • Discussion on the need for different types of discounts:
    • Type 1: Discounts on things like pending payments to or from the organisation and the ability to add tax on them.
    • Type 2: Special Discounted rates for bulk purchase of items.
  • Discussion on points from last week’s meeting with R2:
    • (Point 1) R2 will get back on this
    • (Point 2) GST requires an invoice to be presented with its tax and discount
    • Currently we can achieve this manually with Debit Vouchers with multiple Cr and Dr rows. so the Rejection note table needs to display those fields as well.
    • (Point 3) Not dicussed in the meeting due to time constraints.
  • Debit/Credit notes are supported by GST and Rejection note is not as its is used for internal purpose.
    • Thus find a way to combine rejection note within the Credit/Debit Note form, as its also done the same way in other accounting softwares (e.g. Zoho Books).
  • Discussion on moving the domain gnukhata.in from its current provider to providers like gandhi.et

Conclusion:

  • Perform the UI updates discussed in the meeting
    • Setting Table modes based on the screen sizes and updating its vertical view based on zoho mobile app.
    • Use right aligned form labels when they are horizontally alligned with the input field.
    • Find a way to combine Debit/Credit Note and Rejection Note
  • Make a note of Discount features required in gkcore

Meeting history (2021-05-24)

Agenda:

  • Review previous week’s progress

Participants: GN, Survesh, VK

Updates:

  • Karthik:
    • Auto selection of Org and Org Years (Login Page)
    • Category form UI (WIP)
  • Survesh:
    • Rejection Note form
    • UI updates in Bill and Total table, right alignment of form labels

Points Discussed:

  • Discussion on Rejection Note form:
    • In the Bill Table, can the verb “Return” be used instead of “Reject”. (Discuss with R2)
    • Add checkboxes to reject all qty of a product.
    • Add quicker validation for Rejected Qty field, than on after pressing create button.
    • Change the text of create button to “Reject” or something like that.
    • In the Bill table, explore the possibility of showing only Item, Qty, Rejected Qty columns. (Discuss with R2)
    • Must add provision for specifying a Rejection Fee.
    • The “Create New Product” Button must not be visible in the Bill Table.
  • Comments on Bill Table component:
    • Update: IGST, CESS, VAT fields are hidden in mobile view. Comments: Columns must not be hidden completely, Use a collapsable table here so that the full table data is always there.
    • Use a vertical table layout to tackle the above mentioned issue. Add traversable buttons here to navigate between the multiple rows.
    • In vertical table layout, the amounts must be right aligned. (currently left aligned)
    • The Qty field, must be aware if the product can be fractional in quantity or not. Add an extra field in create UOM form, to store this data. (Discuss with R2)
  • In Total Table component, the roundoff radio button currently doesn’t have a label stating its purpose. Convert this into a labelled switch or button.
  • Comments on Login page:
    • When the Org and Org Years are disabled the up/down arrows must be hidden.
    • There must be an option to choose the default Organisation, which will be selected automatically when the login page is opened.
    • The last visited organisation must be selected automatically when the login page is opened the next time.
    • The last visited org will take higher priority than the default org.
    • Both Last visited and Default org data will be stored in local storage.
  • In Category form, the text in select fields get hidden in mobile view. This must be visible fully.
  • The date format must be configurable globally (priority).
  • Discussion about emphasis on Mobile First UI, since the rewrite of UI is being made mainly for Mobile UI.

Conclusion:

  • Must check the points marked as “Discuss with R2” with R2.
  • The UI must be made solely with Mobile View in mind, all features and data must be accessible in mobile view with ease of use.
  • Perform the UI updates and features discussed in the meeting.

Meeting history (2021-05-17)

Agenda:

  • Review previous week’s progress

Participants: Karthik, GN, R2, Survesh, VK

Updates:

  • Kathik:
    • UOM color coding based on its GST status
    • Linking UOM units with GST compatible default UOM units
    • Gkcore updates:
      • Added GST approved UOM list
      • Added missing Ladakh in the state list
      • Updates with Gunicorn
    • Added How TO wiki in Gnukhata Build repo
  • Survesh:
    • Added Purchase Sales Order form
    • (WIP) Debit Credit Note, Transfer Note, Rejection Note

Points Discussed:

  • In Login page, if the username and password fields have extra spaces in the end, its causing an issue.
  • In UOM listing UI, make the GST compatible units green than black.
  • Right align all the form labels, so that its easy to associate them with the input area.
  • The expand and close button for cards in mobile view are confusing and must be changed.
  • Declutter the Bill tables in Transaction forms.
  • The listing UI for workflow items must have a export data button. Must support CSV now, can add pdf support later.
  • In Purchase Sales Order, the payment method used must not update as a transaction in the backend. Check https://retail.erpnext.com/ for Purchase Sales order implementation.

Conclusion:

  • The UI updates in points discussed will be performed.
  • The payment method used in Purchase Sales order forms will be checked if they affect the backend as a transaction.

Meeting history (2021-05-10)

Agenda:

  • Review previous week’s progress

Participants: Karthik, R2, Survesh, VK

Updates:

  • Karthik:
    • Cost center component (CRUD)
    • Docker compose for gkcore and gwebapp
    • Added Build instruction wiki for gkcore & gkwebapp

Points Discussed:

  • Moving to Docker compose from docker has normal writing normal docker files has reduced the docker container size by 200MB.
  • Abhijith has given access to DockerHub Account for GNUkhata
  • Discussions on UOM list,
    • There is a list of 38 government approved UOM items that has to be used for GST.
    • Currently used accounting softwares allow the creation of custom, non standard UOM units for internal usage. These can later be mapped to standardized UOM units when used in a GST setting.
    • We need to have a provision that says the created UOM unit is either a standard one or is mapped to a standard one or not. Also this can be color coded for ease of use. Green - Standard Unit, Amber - Mapped to Standard Unit, Red - Not Mapped to Standard Unit
    • Also we can’t use only the GST standard UOM units at all times, as there might be organisations that don’t fall under GST regulations.
  • Discussion on keeping the app from being hardcoded into a India specific accounting package.

Conclusion:

  • Add the provision to store the status of a UOM unit, whether if it was standard or if it was mapped to a standard one.

Meeting history (2021-05-03)

Agenda:

  • Review previous week’s progress

Updates:

  • Karthik:
    • Godown forms completed (CRUD)
    • Cost Center (Listing, Creation UI)
    • Replaced Waitress with Gunicorn in gkcore & gkwebapp
    • Added side bar
  • Survesh:
    • Delivery Note and Cash Memo forms (UI + API integration)
    • Purchase/Sales Order, Transfer Note, Rejection Note (UI)
    • Debit/Credit Note (WIP)

Points Discussed:

  • Waitress was replaced with Gunicorn, as waitress didn’t support SSL.
  • Discussion on the name of Cost Center,
    • Cost center or Cost accounting is used with the aim of reducing cost.
    • Profit center or Profit accounting is used with the aim of improving profits.
    • So the term Cost center should be used.
  • In Edit Godown form, the confirmation box needs to include more information.
  • The transaction form number must be configurable.
  • API’s used currently by gkapp is sending more data than required.
    • In the future, this can tweaked to accomodate only the required data.
    • Also API’s that return lists of data must be paginated.

Conclusion:

  • Perform the UI updates discussed.
  • Explore on ways to configure Transaction form number
  • In the future, the gkcore API’s need to be tweaked as per requirement and needs pagination feature.

Meeting history (2021-04-26)

Agenda:

  • Review previous week’s progress

Updates:

  • Karthik:
    • Replacing Nginx Server with Caddy
    • Godown form (Listing)
  • Survesh:
    • Deconstruction of Invoice form into individual components
    • Delivery Note and Cash Memo Form UI

Points Discussed:

  • Why replace Nginx with Caddy
    • Auto renewal of SSL
    • Uses and manages LetsEncrypt certificate, given a valid domain name
  • Caddy has an issue, where the static assets are served via http
    • Possible solution: make waitress listen from port 443
  • Discussions about Docker Container,
    • Use of single parent directory must be preferred for Docker Containers, instead of different unique ones.
    • This helps keeping track of different container data.
    • Since Docker Containers are volatile in nature, data requiring persistence must be stored in the disk.
  • Comments on Delivery Note form,
    • In total Table, the rupee symbol takes up one extra line, make adjustments to keep both rupee symbol and the price in same line.
    • In Bill Table, the Item input field is smaller than other input fields. Make its dimensions equal as the others.
  • Update from Abhijith, the Social handles of GNUKhata are managed by an HR from Accion (Rachita Jha).

Conclusion:

  • Try making waitress listen from port 443 to fix the issue with Caddy.
  • Use single parent directory for the Docker containers created.
  • Store data that requires persistence in disk and not in Docker container.
  • Perform the UI updates discussed.

Meeting history (2021-04-19)

Agenda:

  • Review previous week’s progress
  • Discuss about Server Deployment methodologies

Updates:

  • Karthik:
    • GNUKhata dev server deployment in Digital Ocean Droplet
    • Configure default gkcore URL with Environment variable
    • Godown Page Listing
    • Side Pane Demo
  • Survesh:
    • Editable Billed To section
    • Bug Fixes
    • Delivery Chalan (WIP)
  • Abhijith
    • To work on Roll Over bug fix

Points Discussed:

  • Comments on Delivery Chalan form:
    • The card close and open icons are very similar and can be changed to something easy and unique. Possibly even color coded.
    • It would be nice if the heading of the cards are configurable.
  • Since side panes are a staple in desktop apps, The navigation options can be moved from the top bar to the side nav bar.
  • Discussion about the Dev server hosting and practices to be followed:
    • The process used in hosting the server can be blogged explaining why and how to perform the same.
    • In a conversation into industry best practices for deployment of servers, using Docker was decided to be a good choice, given its ease of use and accessiblity by people from different walks of life within the tech industry.
    • Using Docker Compose should be preferred than to writing the Docker files from scratch. Alternatives like Ansible could be explored.
    • Currently the Docker Compose written will support NGINX as the default load balancer than Apache.
  • Conversation about future plans:
    • Explore Ways to package GNUKhata’s gkapp with tech like snaps, flatpaks or appimages.
    • gkcore (Docker) & gkapp (snap/flatpak/appimage)
    • Releasing a Debian package of GNUKhata in the future.
    • Once the UI is done and is distribution ready, Unit Tests have to be written for gkcore.
    • Possibly rewrite gkcore without a hard dependency on RDBMS and move to Flat File model, so as to support easy encryption and better portability.

Conclusion:

  • Docker will be used for packaging and deploying gkcore.
  • Docker Compose will be used to configure Docker and Nginx for our needs.
  • Options to package gkapp, like snap-flatpak-appimage should be explored.
  • Implementation of the side navigation pane.

Meeting history (2021-04-12)

Agenda:

  • Review previous week’s progress
  • Discuss about the following topics:
    1. How GST is handled in other accounting softwares
    2. Server requirements for Gnukhata dev setup and Discourse

Updates:

  • Karthik:
    • Product Categories and Sub Categories (Listing & CRUD)
  • Survesh:
    • CESS accounts in OrgProfile page
    • Adjust on-credit invoices from workflow page
  • Fixing gkcore and gkwebapp dependencies and merging the PR for reports by Abhijith in gkcore

Points Discussed:

  • Categories and Subcategories listed can be shown as a tree, with subcateries listed under the parent categories.
  • In OrgProfile and Invoice Details page, the numbers displayed in table columns must be right aligned.
  • (Topic 1) Discussion on,
    • How the state of the organisation and the states involved in the invoices for purchase and sales, affects the GST.
  • (Topic 2) Discussion about,
    • Server requirements, in terms of resources needed and usage estimates.
    • Hosting Discourse as a separate instance than along with the dev server.
    • Starting Discourse soon.
    • Making discourse the place for community interactions and slowly transitioning from Telegram.
    • Adding bots to Telegram group to constantly update about the discussions on Discourse.

Conclusion:

  • UI updates based on the comments recieved in points discussed.
  • Topic 1
    • The GST must be IGST(18%), when the Organisation’s (or its counterpart in invoice) state and the states involved in the invoice are different.
    • It must be CGST(9%) and SGST (9%) when the Organisation’s state and the states involved in the invoice are same.
  • Topic 2
    • Server requirements for the GNUKhata dev setup is minimal and since it is only for dev purpose not for public consumption, we can go with the starting tier.
    • After the dev server is hosted and is running, after a few weeks, Discourse could be hosted on a separate instance with the required minimum specs.
    • Slowly tranisiton from Telegram to Discourse for community interaction and use Telegram internally for discussions among team.

Meeting history (2021-04-05)

Agenda:

  • Review previous week’s progress
  • Discuss about keyboard shortcuts Updates:
  • Karthik:
    • Password Reset
    • Table UI update in User Profile, Logs page
  • Survesh:
    • Edit Invoice
    • Bug fixes

Points Discussed:

  • The log text must follow a specific pattern, to make querying the logs easier.
  • Comments on Create Invoice form:
    • In the Create Invoice form, to fix the searchable dropdown UI error, try to increase the footer height when the bottom most dropdowns are activated.
    • The unwanted columns in the Bill table could be removed to accomodate the table in mobile view.
    • Could have a Button to swtich between detailed table view and Undetailed view.
  • Discussion about how to implement keyboard shortcuts in the app and about following the common conventions used in other accounting programs.
  • Comments on Contacts Profile page:
    • In Contacts Profile page, either the Delete Contact button or View Transactions button should be displayed. As only contacts who do not have any transactions can be deleted.
    • Add a button to display the transactions that are related to a contact. This can be done either as an overlay in the same page or take to the Transaction page with a filter containing the Contact’s id.

Conclusion:

  • Perform the updates discussed in the points discussed for Create Invoice form, Contacts Profile, etc.

Meeting history (2021-03-29)

Agenda:

  • Review previous week’s progress

Updates:

  • Karthik:
    • Unit of Measurement (CRUD)
    • Custom Loading UI
    • Workflow cards selectable by Tab
  • Survesh:
    • Tax flows in Contacts, Business and OrgProfile

Points Discussed:

  • Discussion on taking responsibility and charge of the websites and domain names that come under GNUKhata name.
  • Comments on UOM page:
    • Add a warning when deleting a UOM saying that its forever.
    • Find out the most used UOM items and only provide that as default set.
  • Logs for actions in Accounting software has been made mandatory in India by law.
  • In Log page, follow a pattern for log text so that they are easily queriable.
  • Discussion on providing better support to students who use GNUKhata. Like creating a excercise book that solves the governement accounting syllabus using GNUKhata.
  • Comments on tables:
    • Alternating colors for the rows
    • Vertical table layout for mobile view

Conclusion:

  • Update the UI based on the comments from the points discussed.
  • Discuss with R2 to come up with the set of commonly used UOM
  • Finding out the owners of the websites and domains for GNUKhata and request for maintainer access.

Meeting history (2021-03-22)

Agenda:

  • Review previous week’s progress
  • Discuss about the following topics:
    1. API from gkcore for importing and exporting data
    2. Should we use the name Organisaiton or Company or Account
    3. Ability to show Product quantity while creating an invoice for an item
    4. Should a customer/supplier have more than one GSTIN

Updates:

  • Karthik:
    • Captcha Component with refresh feature
    • Security Questions component
    • Preventing the last user in an org from deleting themselves
  • Survesh:
    • Cancel Invoice and Change of fetch invoices list API
    • Skip uneditable fields when using TAB in Create Invoice Form
    • UI updates to Create Organisation page
    • Removed number increment on mouse scroll

Points Discussed:

  • Update the text case of questions to be uniform in the Security Question component.
  • (Topic 1) Feature request for Import and Export of Data API in gkcore
  • In Invoice Creation form, the qty field in the bill table must be tab accessible when a product is chosen.
  • In cancel invoice confirmation, use numbers instead of words to describe the Invoice amount.
  • (Topic 2) Discussion on the naming convention for Company/Organisation.
  • Discussion on making Date Format, Naming convention for Company/Organisaiton as configurable elements.
  • (Topic 3) Discussion on displaying the Product Quantity along side its name in Invoice page, when creating the bill. So that,
    • Products that are empty can be avoided while billing.
    • Products with very low inventory can be intimated to the admin for restocking
  • (Topic 4) Discussion on a customer or supplier (say Godrej) having only one GSTIN mapped to them and creating separate customers/suppliers (say GodrejPunjab or GodrejDelhi) to add GSTIN for them in other states.
    • R2 suggests that this approach is widely used and would also help while going through the reports.
    • The ability to group these sub Customers under a main Customer could also be useful.

Conclusion:

  • Make the UI updates in (Security Question component, Invoice form & Cancel Invoice Confirmation) based on the points discussed.
  • Topic 1 -> A feature request has been made for import and export of data API in gkcore.
  • Topic 2 -> The term Organisation will be used for now, but this should be a configurable text.
  • Topic 3 -> Add Provisions to show the Product quantity based on its inventory count. The intimation for restocking when inventory is low can be implemented later.
  • Topic 4 -> Do not implement the multiple GSTIN per customer/supplier feature. Let the users create individual customers/suppliers based on their own naming convention for now.

Meeting history (2021-03-15)

Agenda:

  • Review previous week’s progress

Updates:

  • Karthik:
    • UI updates in User Management page: Searchable table of Users, New UI for editing User data
    • Change password module
  • Survesh
    • Updates with Searchable dropdown
    • Bug fixes and UI updates in Create Org Page

Points Discussed:

  • Comments on change password form:
    • Hide the confirm password field data as dots
    • Discussion about adding captcha here for security purposes
  • Use a standard set of questions for password recovery question in Add User form
  • Discussion about using a third party service provider to check the security parameters of the app in general
  • Comments on Create Org form:
    • Needs a confirm password field
    • Password recovery question and answer must be on two lines instead of one
    • Use Indian financial year (Apr 1 - Mar 31) as the default financial year, when opening the Create Org form
  • Add simplification of Keyboard Navigation in Invoice page to the roadmap and start discussions on ideas for it.

Conclusion:

  • Make updates to the forms based on Points discussed
  • Discuss more about ideas for easy keyboard navigation in the app

Meeting history (2021-03-08)

Agenda:

  • Review previous week’s progress

Updates:

  • Karthik:
    • Create User form (User Management flow)
    • Godown in User Form
  • Survesh:
    • Confirmation boxes with Transaction details (Vouchers & Billwise Adjustment flow)
    • Searchable DropDown
  • Abhijith:
    • Experimenting with PDF creation python libraries
    • Progress with Converting R2’s Tally data into GNUKhata data

Points Discussed:

  • Comments on Create User Form:
    • User display name and User login id could be separate, as currently the User Name is used for both.
    • Can use a verifiable email id as User login id, the verification part can be implemented later on, a verified flag would be nice to have now.
    • User name should not be displayed twice, possibly try out a searchable card based UI
  • Discussion about Logs of events happening that admin can view:
    • It would be nice to have a notification or intimation when a new log has been registered.
    • Currently logs in gkcore, do not record the proper timestamp. (BUG)
  • Discussion about Deleting User
    • Transactions are recorded without dependency on the User table, so on the event of a user being deleted transactions created by them won’t be affected.
    • Also currently GKCore allows for the deletion of the last remaining user, creating an unusable state. (BUG) (Decided to make a temporary fix on client side, to prevent this)
  • In Voucher forms, there must be an option for creating multiple Dr/ Cr rows
  • Remember the Indian state selected in the forms in local storage, so that it will be usefull the next time, if the same state is required (Which usually is).
  • Discussion on Creating a few reports first and deploying them in gkcore, so that UI can be made for them.
  • Discussion on placement possibilities for Items under Vouchers and Documents in gkwebapp, in the new gkapp.
  • Discussion on the meaning of purchase order, debit/credit note Voucher vs Documents.

Conclusion:

  • Update User Management page and Voucher form based on feedback
  • Create few reports in gkcore
  • Save User preferrences locally

Meeting history (2021-02-15)

Agenda:

  • Review last week’s tasks (Updates on real time data gathering and UI tasks)

Features Showcased:

  • A page to set the gkcore URL that the Client side code will use
  • Configuration for Invoice Page

Points Discussed:

  • Comments on gkcore URL setup page:
    • Change text GKCore server URL to GNUKhata Backend URL.
    • Make the text inside the continue button dynamic, so that it says “Continue to Default Server” when no URL is entered or Add a separate button for it
    • This URL must be saved once set and mustn’t prompted for, on every login
  • Comments on Filter option in Workflow page:
    • Text change from Items to Type and convert the drop down to radio buttons
    • Remove sortby Property dropdown, sort order buttons and combine them like a sortable table header
    • Add filtering options to query based on date range, Items in a invoice, etc. e.g. Filter to view the transactions involving “Car” between the dates 01-04-2020 and 30-06-2020
  • Comments on Configuration for Invoice page:
    • Must be visible only to users with admin role
    • Create an API to store this config in gkcore, so that the config can be used by every user of a GNUKhata organisation
  • Concerns raised by R2:
    • Number fields in the forms change when scrolled over them (Firefox)
    • Stocks involved in Transactions are deletable, this could cause integrity issues
    • Could have the option to denote if an Invoice is independent of Tax
    • Need for Global config where if only GST is opted, UI options for VAT doesn’t appear anywhere in the app.
  • Updates from Abhijith
    • Since the Reports are generated by gkwebapp and its not part of gkcore, he will be working on integrating reports with gkcore
    • Experiment with implementing keycloak in gkcore

Conclusion:

  • Perform the UI updates based on the comments from the points discussed

Meeting history (2021-02-08)

Agenda:

  • Review last week’s tasks (Gathering real time data, UI updates based on feedback)

Points Discussed:

  • Updates on collecting realtime data
    • An accountant from Accion has decided to give old accounting data
    • VK can provide Tally data from his Co-Op, that is 5 years old
    • R2 can provide recent Tally data, with GST data
    • Abhijith will check with Prajaktha and KK, if they have old Accion data that they had used before
  • Need for, a standardized procedure for converting Tally data to GNUKhata data. This should be easy enough to be performed by anyone after reading up on its procedures.
  • Comments on Contacts and Business Item Details page:
    • Make sure the nested cards does not occupy too much horizontal space in mobile view
  • Comments on Invoice page:
    • Organisation address, state, pin code must be got from gkcore
    • Billed To must be editable
    • The Invoice page elements must be configurable by a user editable JSON
    • Info cards must be togglable in mobile view
    • R2 suggested that, MRP calculated must be inclusive of tax in Products/Service created. But currently tax is added on top of MRP to find total.

Conclusion:

  • Try to gather data from the listed sources and convert into GNUKhata compatible data. And Upload it into test server for visualization.
  • Perform the UI updates based on the comments received.

Meeting history (2021-02-01)

Agenda:

  • Review last week’s tasks (Organisation Profile form, Business item details, Invoice Form, Data Dump, etc)

Points Discussed:

  • Discussion about getting Real life data and creating our own sample data,
    • Sample data can be useful while development, but to cover all cases, an extensive real life data is required.
    • Ask the community if anyone is willing to give their obfuscated real life accounting GNUKhata data, so that we can use that as a reference while development.
  • Discussion on how the Company’s logo is stored in gkcore, its a base64 image.
  • Comments on Invoice form:
    • Using nested cards, is space consuming (horizontally) in mobile view, try removing their borders if necessary.
    • The Billed To section is not required if we choose a contact before hand, or can be auto filled
    • Add a create Transaction Button in contact’s detail page
    • In the top the details can be placed in the order,
        1. Billed To, 2. Invoice Details, 3. Shipping Details
    • The dropdowns in the form must be searchable, if they are too long
    • Add Create Customer/Supplier and Product/Services buttons
    • Discussion on, Should Total amount in words be sent from the frontend
    • Invoice comments could have a template of comments to choose from, rather than just having to type everytime
    • Discussion on need for Invoice applicable by date, or payable by date. Currently can be noted in comments
    • Add a share button, to share the invoice via, email, etc.
  • Comments about Business Item Details page (Right pane) and Organisation Profile page,
    • The cards can be made collapsable, so that at a glance we can see the data and if needed we can click on them and edit them
  • Add Close books and Roll over to nav bar drop down menu and it should be visible only to the users with Admin role.

Conclusion:

  • Ask the GNUKhata community if someone is willing to share their obfuscated accounting data for our development purposes
  • Update Invoice form, Business Details and Organisation Profile pages based on the comments from points discussed

Meeting history (2021-01-25)

Agenda:

  • Review last weeks tasks (Transactions, Active workflow data, Sample Data Dump, etc)

Points Discussed:

  • Showcase of Colour Bar to represent the gkapp version
  • Comments on Customer/Supplier Details in the right pane,
    • Keep edit button in the top right
    • Hide the edit button when in edit mode
  • Comments on Filter option for the workflow data list,
    • Change the text Item to something meaningful like “contacts” or “business”
    • Save the filter preferrences once set in local storage
  • Add User preference and company preference page UI
  • Company name should be visible in the top
  • Explore how to create and switch between different financial years, without creating a new organisation
  • Discussion about the possibility of using the same user for many organisations
  • Discussion about sample data:
    • R2 suggested that they have tally data and tally ERP 9 is partially compatible with GNUKhata
    • Also suggested some sample data that can be obtained from the GNUKhata demo page
    • Will also discuss with Abhijith about the possibility of manual entry if needed

Conclusion:

  • UI updates based on discussion (Details on right pane, filter)
  • Add User Preference, Company Preference
  • Update Sandbox with Sample Data

Meeting history (2021-01-18)

Agenda:

  • Review the changes in the workflow page UI

Points Discussed:

  • Customer/Supplier data list must be combined into a single filterable list, than being tabbed
  • Doubt: How the backend is handling Customer & Supplier, can a Customer be a Supplier for a transaction if required
  • Integrate Transaction’s related UI to the workflow
  • Get data dump for the sandbox server to test the UI and check how the UI looks in GKwebapp
  • Display data corresponding to the active workflow item

Conclusion:

  • Transaction related UI in the workflow page
  • Display active workflow item data in the right pane
  • Get sample data dump for the sandbox

Meeting history (2021-01-11)

Agenda:

  • Review the migration of pages from Buefy to Bootstrap-Vue

Points Discussed:

  • GNUKhata’s various support forums:
    • Finding out about the existing support forums and their owners/maintainers
    • Some known ones are GNUKhata support page, mailing list, telegram, matrix
    • Focusing on supporting through one forum than many, as it will be easy to manage in the long run
  • The difference between “Opening Stock” field in the Product Details page and the “Stock” that gets created with transactions like Buy & Sell
  • Having GNUKhata as a full feature package instead of splitting it into 3 variations (Accounts, Accounts + Invoicing, Account + Invoicing + Inventory)
  • Comments on Workflow page:
    • List the workflow page items such as “Customers” and “Products”, like a list of scrollable cards
      • (Like in a chat app like telegram)
    • The order of this list of cards should be filterable (by properties like date, alphabet, etc.)
    • Add 2 new Workflow items
      • Transactions
      • Reports
    • Club Workflow items
      • Customer/Supplier into “Contacts”
      • Products/Services into “Goods & Services”
    • Add a field to choose between the clubbed items, in their respective forms

Conclusion:

  • Find out about the various support forums for GNUKhata
  • Update the Workflow page UI based on the comments from Points Discussed

Meeting history (2021-01-04)

Agenda:

  • Product / Service forms in workflow page
  • UI framework with Accessibility support

Points Discussed:

  • Comments on Product / Service forms:
    • The different panes in the forms, like price, stock, tax, could be distinguished by colours.
      • As they currently merge with the background and make it hard to distinguish hierarchy
    • Input fields could be colour coded based on their type.
      • e.g. money fields could be coloured saffron through out the app, and so on
    • Reduce white spacing in the forms and app, where possible so as to make the UI compact.
      • e.g. In form, the field title and input area could be placed on the same line, instead of two
    • Remove redundant text and contextually understandable text in form.
      • e.g. Create Organisation Name -> Organisation
      • Organisation Name -> Name, Organisation Type -> Type, Admin Name -> Admin
    • Doubts:
      • Does GST have to be recorded in two parts (State and Central)?
      • Is VAT still required, since we are using GST?
      • Is GST calculatable from HSN code?
  • Comments on UI framework with Accessibility support:
    • The Bootstrap-Vue demo made to replicate the existing UI flows, got good accessibility scores in Chromium lighthouse.
    • Since the accessibility support was built in and had better documentation on how to add the same, was easier to implement.
    • Thus Based on the output of this demo, decision was made to port the existing UI flows to Bootstrap-Vue and continue from there

Conclusion:

  • Migrate from Buefy to Bootstrap-Vue
  • Incorporate comments on UI enhancement (White spaces, Redundant text, Distinguishing with Colour codes)

Meeting history (2020-12-28)

Agenda:

  • Review last week’s task list

Points Discussed:

  • Accessibility aspect of gnukhata: Research with accessibility rich frameworks
    • Create a demo with the accessible rich framework
    • Compare the demo with the existing setup in terms of ease of adding accessibility, size of final output, etc.
  • Question: How are service providers handled in GNUkhata? Does it take in account the time taken to provide a service?
  • Bring Customer, Supplier, Product, Service, Invoice and Report profiles under a single page called Workflows
  • Ask a company their GNUKhata accounting data for research and understanding purposes
  • Milestone Basic: January 15th
    • Workflow Page: Customer, Supplier, Product, Service, Invoice, Report profiles
    • User Page: Create, list users
  • Discuss and change how the current forms look, to make it more easy to use
    • e.g. In the Create Customer Form,
      • Pincode could be taken directly from the address input field
      • State could be selected from the Pincode, rather than entering manually
  • Data privacy: Hide sensitive client data by masking them from users without proper privileges

Conclusion:

  • Add product/service tab
  • Explore alternative frameworks which prioritize accessibility
  • Obtain real data on financial year of a company for better understanding of inventory & accounting

Meeting history (2020-12-21)

Agenda:

  • Discuss about versioning scheme for gkapp
  • User stories

Points Discussed:

  • Make sure the webapp is Screen reader compliant and follows the general accessibility standards
  • Webapp must be ready for localization, possibly reuse existing localization resources (Malayalam, Marathi, Hindi, English)
  • For forms, make the first field selected by default, to make it more accessible
  • User Story Comments
    • The current User stories have been written using the existing software as base
    • The User stories have to be created by talking with and taking feedback from actual people with accounting needs from various backgrounds
    • For example the budgeting needs of an Non profit, may require some custom fields that the software must have provision to create
    • Use cases like the above example should also be thought of and addressed
    • Better UI flows like Usage based UI design patterns could also be brought in to make the UI flow easier
  • Make the most used pages in the web app more user friendly, like the Invoice creation page, Customer/Seller page, Product/Service page
  • For the Customer/Seller page, Product/Service page, use UI like in chat apps
  • For example if you take a Customer page, all the customers will be listed, and on clicking on the customer, the transactions with that customer will be listed. Also the list of customers could be sorted based on filters, a particular customer must be searchable using a search bar.

Conclusion:

  1. Creating Customers, Sellers
  2. Localization
  3. Screen reader support
⤶ Return To Meetings Page