Stoq 1.2

We released Stoq 1.2 last week, this release features quite a bit of features:

Calendar application

It’s now possible to list payments, purchase orders and client calls in a graphical view:


It might look familiar, it uses the fantastic javascript library fullcalendar. We really wanted to use a normal GtkWidget for the calendar but it would have been a lot more work to rip out half of evolution. If there are any other options that can match fullcalendars functionallity there we’d be open to switching as embedding WebKit, jQuery and fullcalendar in a Gtk+ application is not ideal.

Configurable keyboard shortcuts

This is something that has been requested many times over the years. It makes it easier to remap the keyboard bindings use often to other keys, such as the function keys. There’s still an open task to redo all the existing keybindings that aren’t uniform enough.

Configurable form fields

Some companies does not use all the form fields (fax anyone?) that we show per default and Stoq know has a configuration interface where you can make fields non-mandatory and even hide them if you don’t wish to see them. Perfect for the first steps of localization.

New manual

One of our interns rewrote old docbook manual to mallard, and it looks beatiful and is now well integrated in the application. You can find the online version here. It involved removing a lot of screenshots and text. It’ll be easier to update the manual in the future if there aren’t any screenshots. He also fixed the interface, there are now various help buttons in the application that goes to a help section describing that part.

Localization support

It’s now possible to configure some of the fields that are specific to each region/country. The only thing that made it into this release was company identification number (Brazil: CNPJ, Sweden: Organisationnr, US: Employer Identification Number). But person identification number and list of states has landed in the code repository since the release. We still need someone to step up and start doing the actual localization for this, be the hero of the day and download Stoq and start localizing it!

Boleto Bancário (Bank invoice)

Brazilian banks supports a kind of invoice with a barcodes/numbers, called boleto bancário. It’s semi-standardadized, most of the data is similar, but you need to special case each bank that should be supported. There are two kinds, with and without cobrança (for eventually sending to a collection agency). There are a couple of 100 active banks and about 15 major ones. Stoq currently supports 7: Banco do Brasil, Banco Real, Banco Santander, Banco Bradesco, Caixa Econômica, Banrisul, Banco Itaú. All without cobrança though, support for that will come in a future release.

Call for volunteers

Stoq has initially been targeting the Brazilian market, since that what’s close to the current development team. But there is now longer an excuse for not trying to use it. We can barely handle the legal part of Brazil and we’d need volunteer help to make it possible to use in other countries. We’re very proud of the application so we wouldn’t want to stop you just because you live outside of Brazil!

So, why don’t you grab the code and get started, it’s all python (and a tiny bit of javascript) and shouldn’t be hard to get started.

Don’t be discouraged by the web site and manual is only in Portuguese, we use gettext and rosetta and the code is modular and easy to understand.

We’ll need a lot of work to support localization in different countries such as: company/person formats, states, taxes and other things we don’t know about yet, let us know and we’ll try to find a solution.

Just send me a mail or come in on our new shiny web chat: (aka #stoq on freenode)

This entry was posted in Blogroll, General, GNOME, olpc, PyGTK, Python. Bookmark the permalink.

2 Responses to Stoq 1.2

  1. Angel says:

    Hi..I’m interesting in create an app in c# but it use html and javascript for the frontend, my first idea was create a server than run the app and then use gtk and webkit for render the page, I don’t know but I think than it would be a bad idea, I’m interesting in know your approach but I can’t see the code, could you post a little example how you build the app??..thanks!!

  2. Domas says:


    Stoq seems to be one of few systems for small businesses that is worth a look. I will describe first encounter wiht Stoq from the perspective of Lithuanian business.

    First of all, the installation procedure is not easy to find out. I have read the README file, went through the online documentation and still didn’t find how to start working with the program. What I needed:
    su postgres
    stoqcreatedbuser domas

    And PostgreSQL must use 5432 port as I haven’t found how to change the port in Stoq.
    Stoq allows manual configuration of DB but I haven’t found a way to create Stoq users and could not login until I changed the PostgreSQL port to the default one and used the wizard. Then I was asked for a local Brazilian company code? that was validated and I had to search for one on the Internet because I haven’t one. I used 90.117.749/7654-80 to be able to continue.

    Secondly, when I was able to login to Stoq I got “Administrative” window without any clues how to do any operation like a sale or a purchase. Then I found File>New>Window option which opened the view that I wanted to see.

    Finally, I created a sale. I haven’t found a way to make it past quotation status and compete it. At that point I suspended my trial.

    Overall, while Stoq is not very usable in Lithuania at the moment due to foreign program’s nature, Stoq GUI is simple and should be easily extended. I believe Stoq’s GUI is the main strength as other business software is focused on features and not on design.

    P.S. ReportLab PDF library you use for various reports does not support Unicode fonts by default so I got empty squares instead of Lithuanian characters that were saved to the DB correctly. This can be solved be using TrueType fonts that include more characters.

Leave a Reply

Your email address will not be published. Required fields are marked *