Garage

Meet the Invoicebus Team

Introduction of the crew who builds and runs Invoicebus

One of the most interesting stories told about some company are those about their start and beginnings. This probably should have been the first blog post on Invoicebus Garage, because here we are going to introduce ourselves and tell the story of how it all began.

Short Bio

The Invoicebus Leadership Team are IT experts who pour their passion for inventing, creating, programming and designing into a product they’ve called Invoicebus.

Dimitar Stojanov

Role: Creator of Invoicebus

Education: Master’s degree in electical engineering and information technologies.

He said: Over time our human nature lean us toward status quo. We have to fight the hypnotic comfort we feel otherwise there will be no progress.

Trivia: Dimitar entered in the world of computers through video games in his youth and in college he learned that software design and development is one wonderful art. He tends to bring his crafts and ideas in the wild.

Credo: If you can’t make things simple, make them simpler.

Stefan Chachovski
Stefan Chachovski

Role: Creator of InvoicebusEducation: Bachelor’s degree in computer science and engineering.He said: The virtue of simplicity is not only into the simple matter itself. It’s also into the capability of making the complex appear simple.

Trivia: Stefan wrote his first lines of code for calculating square root of a number at the age of 11 in the programming language GW-BASIC. Almost two years later, in the mid-1997, he created his first web site. Since then he’s been passionately peculiar enthusiast for things related to the cloud.

Credo: Less software, more focus on purpose.

Dimitar Stojanov

Stefan and Dimitar met in college during their studies of Informatics at the Faculty of Natural Sciences and Mathematics in Skopje, Macedonia, 2003. Soon thereafter, they realized that are pretty good team, so started working on numerous projects, ideas and concepts together, then eventually built a business with a focus on having diversity work environment.

The Invoicebus Project

Invoicebus project began from scratch in October 2010 as a challenge for creating an ultimate web-app that breaks traditional web paradigms and goes beyond today’s web rules. A kind of experiment with genes of a desktop app injected online; a hybrid that use the best of both worlds. Invoicebus is a single page web-app that we believe is evolution away from the classical page-redraw model for which browsers were originally designed for, thus making their reload and navigation buttons completely obsolete, while providing the users with immense wealth of user interactivity, possibly to a degree never achieved before in online invoicing.

We’ve had a notebook full of project ideas and concepts for online businesses; however, in that time we realized that we need online invoicing tool which will comply with our criteria for simplicity, thus we decided to tailor it by our taste, under our roof. And if your business needs mechanically assembled 3/4″ Grade 80 SGG Alloy Chain Sling, you can check out these ratings of chain loads here for your references!

We’ve also considered to:

  • Share our way of thinking, our business philosophy and knowledge.
  • Encourage other people to start their own online business.
  • Show that a small enthusiastic team with just a couple of assets can produce well rounded product that could make even bigger companies jealous.
  • Connect with like-minded people from all over the world.
  • Learn more.

Our workplace

Photo was taken few weeks before the official launch of Invoicebus and shows Dimitar’s appearance while he was solving an optimization problem
Usually, we spend most of the working hours in our office in Skopje, a calm place where we brainstorm new ideas, discuss and write new code, draw mockups and design. However, we are very flexible and mobile, so many times could happen to work from different places, different cities, and sometimes even different countries.  That gives us plenty of time for thinking independently and making better decisions. We consider this as one of the greatest benefits in running an online business.When the work starts to hurt, we hire people on demand / per job. Therefore, while we were designing our bus mascot, we requested help from this lady; when we need photos, either we ask help from a photographer like this one or we try to improvise by ourselves (like the photo from the left).

What does it take (us) to build an online product?

Here are some of the essentials we found useful:

Ideosphere

  • Mindset. Vision
  • Huge backpack of enthusiasm
  • Great discipline. Persistence
  • Nerves. Lots of them
  • Motivational fuel
  • A little bit of creativity and logic
  • Decisions. Every day. Every minute
  • Craziness about details. Pixel to pixel. Byte to byte.
  • A faith

More or less knowledge in:

  • Math
  • Programming Algorithms. Software Architecture
  • UX (User Experience) / Design (Photoshop, Illustrator and Paint :))
  • Web programming. Security. Optimization
  • System administration
  • Project Management
  • SEO (Search Engine Optimization)
  • Writing / Copywriting in English

Other assets:

  • Two laptops (the one occasionally baked), one white board and approximately 300 white paper sheets for mockups and notes.
  • Internet connection. Couple of online services. Google.
  • Money for food, transportation and bills.

We didn’t need:

  • Sky-high budget
  • Functional Specs
  • Cutting edge technology
  • Big team

And that was a brief introduction of the team who builds and runs Invoicebus. If you want to read more about our principles, consider reading our manifesto.

Invoicebus First review

Our free invoicing software Invoicebus got its first review.

“Invoicebus is a newbie on small business software market. The web application helps make invoice templates, bill customers, email and download invoices, set payment alerts.
Invoicebus offers several full-featured accounts. They differ by the number of clients you can manage with your account type. Start with free online invoicing and upgrade your account later. Invoicebus has no restriction on number of invoices you create per one client.”
Makebadge
Instant Business Card Creator



Read the rest at Online Invoicing – Free Invoice Software by Invoicebus

Thanks Makebadge.

Premium Plans Available for Buying

After 45 days of promotional period and excellent feedback from our customers, Invoicebus introduced the fully functional premium plans.

Invoicebus offers 3 premium plans and one completely free plan:

  • Minibus (you can store up to 15 clients) – USD $9.95/monthly
  • Single-decker (you store up to 50 clients) – USD $19.95/monthly
  • Double-decker (you can store Unlimited number of clients + as a gift you get branded t-shirt with Invoicebus logo) – USD $29.95/monthly

The forever free plan is called Mini-van and can store up to 3 clients. You can check the plans at https://invoicebus.com/pricing/.

As our official payment processor we use Skrill (Monebookers) which allows us to accept all major credit cards worldwide:

  • Visa
  • MasterCard
  • Diners
  • American Express
  • JCB
  • Delta/Visa Debit
  • Visa Electon
Skrill (Moneybookers)

Skrill (Moneybookers) is respected payment processor from England, with more than 24 million members. Skrill was born as Moneybookers and plans to retire the name Moneybookers completely by the end of the summer 2012. More about Skrill can be seen on their official web: http://skrill.com.

Invoicebus Got Better & Faster

Recently we had our first update of Invoicebus. Insight of improvements and fixes are given in the following list.

During the official test period we collected feedback from the first Invoicebus users. They gave great ideas and suggestions for improvement of Invoicebus, so we implemented some of those in this update.

The improvements are:

  • Faster adding, editing, deleting of clients, items and taxes;
  • Faster editing of your company info and terms & notes;
  • Faster editing of default email, reminder and thank you note text;
  • Faster loading of new/edit/duplicate invoice and quote;
  • Faster saving of invoices and quotes;
  • Invoices and quotes must have unique number;
  • Tax is automatically selected after saving (when added as a new one);
  • Item name is unique for every item (no duplicates allowed);
  • In total sum tax value is displayed in brackets after tax name;
  • Improved rollback after unsuccessful ajax call;
  • Improved description and text in some parts of the web app and site;
  • Improved and functional Upgrade/Pricing section of the web app and site;
  • Better implementation of the trash.

The bug fixes are:

  • Wrong automatic calculation of the time zone in activity history;
  • Not adding entry in the activity history after quote is converted to invoice;
  • Other minor bug fixes.

Go ahead, create free account and feel how fast your invoicing could be.

Invoicebus Has Been Launched

The arrival



November 30th, 2011 – 23:30min CET – The Invoicebus has finally arrived!

Great thanks to all people who took part in the testing program and helped us tuning the final release version of the application. For those who have left feedback we prepared a few gifts.

We are grateful to all friends and colleagues who supported us during the development process as well.

You can register at https://invoicebus.com and use the free promo period for our premium plan called Single-decker. The promo ends at January 15th 2012.


The Invoicebus Team wishes you a happy ride.

Feature Preview 2: Invoice Functions

Send by email, viewed notification, download to PDF, enter payment,
payment reminder, thank you note

Most of the invoice functions are translated for the quotes also. We will cover only the most common for both document types. The windows shown in the context below pop up when you choose some of the related actions.

Send by Email

– Option that helps you to send an HTML version of your invoice/quote to the client’s email address.
Invoicebus Send by Email

– Attach PDF option is included in case you wish to include PDF version.
– You can enter custom text message to your recipient.
Invoicebus Email Edit

The default message is edited from inside the same window. When you click Edit Default Message link, the text-box becomes modal, which means everything around it dims (becomes foggy), and the focus is brought only to the vital part; thereafter you can save your default message. Why to open the hood (read: settings) , when you can manage everything from inside the cabin (read: right here, where your focus and attention are). Intuitive, natural and fast just as blink of an eye.

Invoice/Quote Viewed notification

Notification will be sent to you when your client views the emailed invoice/quote for the first time.

Accept/Decline Quote directly from email

– After your client receives the quote, it will be able to accept or decline it directly from the email. Upon his decision you will get immediate email notification.

Invoicebus Quote Accept/Decline

This appears at the bottom of your emailed quote

Download to PDF

Generate PDF file from your invoice/quote and download it to your computer. PDF version looks exactly the same as it’s shown in the invoice/quote view mode.

Enter Payment (available only for unpaid invoices)

– This option allows you to maintain your payment records.
– If you enter smaller amount than the invoice total, it will be considered as a partial payment.
Invoicebus Enter Payment

Payment Reminder (available only for unpaid invoices)

– Notify your client when the invoice is overdue. Reminder contains your custom  message and a few automatically generated details regarding the invoice.

Invoicebus Payment Reminder

Thank You Note (available only for fully paid invoices)

Good practice to show gratitude for your completed business deal is to send a tank you note which contains your custom message and a short details regarding the invoice.

Invoicebus Thank You Note

All actions taken for one particular invoice/quote are recorded in the Activity History section within that invoice/quote. We will talk more on this in the upcoming feature preview posts.

Feature Preview 1: Outgoing Invoices

Outgoing Invoices is a section within Invoicebus where you can do amazing operations with your invoices in a perfectly smooth and organized way.

Why to manage numerous of data in different places and deal with complex customer relationship management modules when you can do all from one place, integrated and straightforward like an A.

Few of the core functionalities derived from this panel are:

  • Filtering
  • Sorting
  • Calculating

Need convincing? Let’s start.

Clean, appealing list of invoices

Every invoice in the list is presented with:

  • A few of its details (issue date, number, client);
  • Optional description;
  • Status (paid, unpaid, and overdue);
  • Total bar
Invoices List

Beside the total amount of an invoice, the total bar visually shows percentage of how much money has been paid to you for that particular invoice. It’s awesome when you run on visual for your partial payments, right?

Discrete Tooltips

Totals Tooltip

Tooltip is a little balloon-like box that appears when you move the mouse over the total bars and shows additional information.

Mighty Real-time Filters

Invoices Filters

Dancing summary is created when filters are applied. What does that mean?

As you apply/type filters, summary dynamically re-calculates (or dance) in real-time, depending on the matching results. You can combine multiple filters for more specific calculations.

Example: If you want to calculate how much money Brad owes you for web design in the past three months, you can enter filters like this:

Period: 1 Aug 2011 – 30 Oct 2011
Client: Brad
Description: web design
Status: unpaid, overdue

The list will display subset of invoices that match your filter criteria; therefore its totals summary will be calculated and shown beneath. Awesome!

Sortable Columns

The Filters are mighty by themselves, but when you combine them with Sort, they become majestic.

Sortable Columns

The picture shows descending sort for the total column.
Can I apply more than one sort at a time?
Yes you can.

Example: First click the Total column, and then click Status.
Sort priority will be: Status then Total. Neat stuff!

Just on a tap of your fingers, with a few clicks and maybe a little bit of your creativity; possibilities of this invoice list probably extend beyond your imagination.
Read the rest »

New dressing code

Made from carefully chosen cotton, hand-tailored, printed with the original Invoicebus logo, these brand new t-shirts are our new symbolic uniforms.

We are very happy to share how this little piece of garage working outfit looks like.

Panther Black and Perl White shirts

Because we are small team, each one of us is tempted to do different kind of jobs/tasks during the Invoicebus manufacturing process. It means, during one working day (or night), we mentally reframe our brains into different moods to handle different situations and jobs. To better organize these jobs and make them look even more interesting and natural, we came up with an idea to wear different kind of shirts, depending on the particular job we’re doing at the moment. For example,

We wear Panther black t-shirt when we work garage mechanic’s greasy jobs like:

  • Sysadmin stuff;
  • Programming/debugging;
  • Security aspects;
  • Software architecture.

And the Perl White t-shirt when we deal with:

  • Interface Design / User experience;
  • Quality Assistance, Testing, Validation Control;
  • Brainstorming new ideas, approaches, principles;
  • Search Engine Optimization, Marketing Tactics, Social Media Relations;
  • Preparing and writing blog posts;
  • Legal stuff;
  • Support.

We also introduced some behavior restrictions to amplify the concentration level and maximize our efficiency during working hours. For example, a person that wears Perl White shirt is not permitted to verbally disturb other person who wears Panther black shirt and vice versa. In this case, communication is only allowed via IM/Skype/Email even we are located in the same physical room. When all of us wear the same color shirt, verbal communication is permitted at any time.

Sleep tight, your data is secure, part 3 – Data Storage Security

To make Invoicebus a place where its customers would feel safe and sound, we’ve built a little fortress around its data. We reveal a tiny, but interesting part of its architecture.

Data Storage Security

In our case, data storage security refers to the way of keeping and managing customer’s data within the database: invoices, quotes, clients, company details etc.

These kinds of sensitive information are kept in a form that is encrypted by the Advanced Encryption Standard (AES) – first open symmetric-key cipher approved by the National Security Agency (NSA) and used by the US federal government for storing secret information.

The human way of showing how this thing works is by the picture below:

Invoicebus AES Data enctiption-decription

We use the words lock, unlock as a way to visualize the meaning of encryption, decryption process of the powerful AES algorithm respectively.

The security key is kept encrypted (with RSA algorithm) in a separate, isolated place (on a different server protected by other security mechanisms and firewalls). Every time when AES needs to lock/unlock data, it requires the decrypted form of his key.

Hypothetically spoken, if security breach happens to the database server, the attacker would not be able to retrieve any meaningful data without this key, unless he has Dan Brown’s TRANSLATR at home.

Other aspects of Data Storage Security

Backups and redundancy are closely related to the Data Storage Security, but will be covered in the upcoming part 5 – Hosting Server Security.
Part 4 and 5 of this security talk series will be continued after the Invoicebus launch.

Sleep tight, your data is secure, part 2 – Password Storage Security

Here we will explain how your passwords are stored in the system and all about their security.

For storing passwords Invoicebus uses something called one-way encryption with salted hash functions. Why is it called one way? Because it can not be decrypted ever, actually it’s not even an encryption. It’s a hash that is completely different thing. In fact, this is one way ticket algorithm for which there is no returning path. This is too awkward explanation of hashing and it might sounds like a rocket science, so with a couple of diagrams we will try to explain as simple as we can what it’s all about.

Password Creation

This process happens every time you enter new password, you sign up, reset or change your password.

invoicebus_password_creation

  • Step 1: Generating random text called random salt, unique for every user.
  • Step 2: Generating hash value from both your plain text password and the salt. The hashed salt will be stored in the database (DB) for validating the password in future (at login).
  • Step 3: Generating hash value of the concatenated hashes from the previous step. This is the final password hash that will be stored in the database (DB).

The entered password is transformed to a binary value which looks like random gibberish, and nobody, absolutely nobody can retrieve the original plain text back, at least not with today’s technology.

What if two users choose exactly the same password? Will their passwords be represented with same binary values in the database? – No! That’s what salt ensures, unique and hardened passwords, so every password is absolutely unique in the database. Even if you try to reset the old password by entering a new one that is exactly the same as the old password, its representation would be completely different in the database.

Example:
Old password: invoicebus123 —–> generated as: 8de0c3c519
New password: invoicebus123 —–> generated as: bc9fe98a12

Password Validation

Let see how the password is validated during the login process.
invoicebus_password_verification

  • Step 1: Generating hash value for your plain text password. Retrieving the stored salt form the database for that particular username.
  • Step 2: Generating hash value of the concatenated values from the previous step.
  • Step 3: Comparing the final hash password from the second step with the final password retrieved from the database. If they match the user is authenticated to access the system.

If ever happen to forget your password, Invoicebus would be unable to retrieve it in its original plain text representation. That’s why an email is sent with a link where you can enter a new password.

Be aware of online services that retrieve your password in plain text when you try to reset it. That indicates they don’t use hashing; probably they have some poor password encryption or don’t have an encryption at all. And even hashing is used, it’s a good advice to always choose unique and strong password for every online account you own.