Thursday 22 September 2016

FXBilling - A free and open-sourced JavaFX Billing Application

Hi, I am happy to share with all the readers of my blog a billing application named FXBilling that I have developed in JavaFX. Before I tell more about this application, please have a look at its screenshot below:


More screenshots of the application can be viewed here.

This application is targeted at small-scaled Indian Traders, and is a JavaFX port of my earlier released C# billing application named Biller. The features include invoice generation & printing, invoice search, payment receipt, payment search, customer account lookup & printing, database backup & restoration.

I have taken every care to make this application bug-free; however, a bug or two may still have crept in. So, if you come across any bug, please let me know.

The Java version 8 (update 72) has been used to develop this application. Hence, you will require this or a newer version of Java to run the application. You can download Java SE Runtime Environment (JRE) from here.

FXBilling Executable Download Link

FXBilling Source Code Download Link

FXBilling Windows Installer Link

I trust that you will find this application useful whether you are a developer or a user, and you will also enjoy using it as much as I have enjoyed developing it. Do provide your feedback through the comments section below.

Thanks for your time!








44 comments:

  1. hi,
    just checked your javafx billing application and i think it looks cool, i have a couple of questions:
    1- what data base are you using ?
    2- what library/tool do you use to create reports?
    3- the data entry forms seems to be written in html are you using a webview to create your forms ??

    ReplyDelete
    Replies
    1. 1. I think, It Apache Derby database.
      2. jasper report use to create report
      3. It's in javafx so that's depend on your requirement. if you want to deploy on web then you have to create build for web. and if you want it to desktop then create build for desktop application.

      JavaFX project run on web, desktop and mobile.

      Delete
  2. Thanks that you found the application cool! As regards your queries:

    1)I am using the Apache Derby database (https://db.apache.org/derby/)
    2)To create reports, I am using JasperReports (http://community.jaspersoft.com/)
    3)The data entry forms have not been written in HTML; instead, they have been written in FXML (https://en.wikipedia.org/wiki/FXML). I am not using at all the WebView component to create or display the forms. The entire application is being displayed in a Scene that is hosted by a Stage. The Scene contains a TabView component, and different forms are displayed as tabs of this component.

    Trust this answers all your queries :-)

    ReplyDelete
  3. Under what license are you releasing this ? Shall I customize to my own for a small shop and use it ?

    ReplyDelete
    Replies
    1. Hi, the application is free of all licenses. You can customize it and use it. No strings attached :-)

      Delete
  4. Thank you for your software Dinesh! Look's great. Few days ago I'm download it and porting to Spanish language...I'm living in Entre RĂ­os, Argentina...
    I must change some things, for example, the model in Apache Derby and some things in FXML files (Gluon SceneBuilder not loading all FXML files)
    You can reach me at ezicart@frp.utn.edu.ar or ezicart@gmail.com...
    Stay tuned Dinesh!
    Thank you again!

    ReplyDelete
    Replies
    1. Hi Ernesto, You will need to change the locale of the Apache Derby database whilst creating it. Apart from that, you will need to replace the Indian Currency Sign (Rupee) with that of your country's currency sign.
      As regard ScreenBuilder, I also face problem with it in opening many FXML files, and therefore I don't use it. All the FXML files used in the application are hand-crafted. They have been created in the Netbeans' IDE text editor; no graphic editor involved. Hand-written FXML are devoid of bloat, easy-to-understand and also reinforces learning! Just my two cents :)

      Delete
    2. Hi Dinesh! Certainly I must agree with you about FXML files...respect to the database, all changes made and work fine!
      I'm very excited re-coding you code and learn JavaFX! The beauty of simple things!
      Thank you AGAIN Dinesh...God bless you!

      Delete
    3. Can you help me to rebuild this project?

      Delete
  5. Hi sir, why i can't open the fxml files?? im getting an error when i opened it. what scene builder and jdk version are you using? please help..i really like your design thank you!

    ReplyDelete
  6. Hello, as stated in the blog post, the JDK version used is 8 (update 72). It is represented as 1.8.0_72. You could use this or a newer version to run the app. As regards you not being able to open the fxml files, I have clarified in the comment dated 6th January that I also face problem in opening files in the Scene Builder, and therefore I don't use it. All the files used in the application are hand-crafted.
    To get insight on issue you are facing with the Scene Builder, open a new thread in stackoverflow.com, or check existing relevant threads there.
    Hope this helps.

    ReplyDelete
    Replies
    1. oh sorry i didn;t read the content.i got able to open the fxml files by updating my scene builder. thank you so much.

      Delete
  7. Very good contribution to the community, it looks very promising and I will certainly use it for my own education. Just one thing I am though encountering: in file fxbilling.database/Database.java, at line "import org.apache.derby.tools.ij;" (line 18), I get "cannot find symbol", though I have installed derby and added to the path too, readded it as a library in the project properties (I use NetBeans). I am still green to programming and Java but can't think of something I am missing. Any enlightment? Thank you so much in advance.

    ReplyDelete
    Replies
    1. Sorry, it seems I found out: the ij tool is included in derbytools.jar, not derby.jar nor derbyclient.jar as I first understood. Adding this library in the project properties (NetBeans) worked and the error disappeared. Cheers.

      Delete
    2. Had the same issue and the way you fix it is by importing "import org.apache.derby.tools.ij;"

      Delete
  8. hi sir hope to see more open source projects from you.

    ReplyDelete
  9. Thanks for your source code. However, I need some help as how new customer fxml is working inserting the listview. Which method is being used to insert a new customer in the listview.

    ReplyDelete
  10. How i can change the currency logo???

    ReplyDelete
  11. Hi,
    To get your currency symbol, you can use the code like this:

    Currency.getInstance(new Locale("en", "IN")).getSymbol();
    /*Replace Indian locale with your country's locale*/

    I however have not used this method as this returns me the old Indian currency symbol (Rs.). To get the new Indian currency symbol, I am directly using its Unicode value which is 20b9.

    ReplyDelete
  12. Hi, Thank you for your grate effort.

    I'm getting an error which saying

    WARNING: Could not open windows registry node Software\JavaSoft\Prefs\fxbilling at root 0x80000002. Windows RegOpenKey(...)

    Netbeans 8.2, Java 1.8

    Do you have any idea where it coming from ?

    ReplyDelete
    Replies
    1. I think I have an idea where it is coming from :-)
      You are probably running the application either from within the IDE or running the jar file (as against the Windows executable file) directly. Either way, you are running it without Administrative privileges. Ensure that you are running the app with Administrative privilege, and this error won't occur again.
      The application requires Administrative privilege because it calls the API "Preferences.systemNodeForPackage" to store or retrieve the user preferences to/from the system backend (In the case of Windows, this backend is OS's Registry database). You can though replace this call with "Preferences.userNodeForPackage", and doing so will obviate the need to run the application with Administrative privilege.
      Trust this helps.

      Delete
  13. Thanks for the software but however i am facing problems using it with netbeans 8.1. Can you describe how to configure this in IDE and what step to follow.
    Thanks again.

    ReplyDelete
    Replies
    1. Hi, I think that the problem you are facing may have to do with required Java libraries not having been set in your IDE. You need to set up Java libraries for Apache Derby, ControlsFX and Jasper Reports in your IDE. To see how to add a Java library to the Netbeans IDE, please check this link: http://www.oracledistilled.com/netbeans/adding-java-libraries-to-netbeans-6-9/
      Hope this helps.

      Delete
    2. See the libraries as they appear in my IDE:
      https://imgur.com/a/uCESn

      Delete
  14. Hello sir, when I am trying to run the FXBilling program in NetBeans IDE, I am getting an exception like /resources/stylesheets/home.bss not found on the classpath
    /D:/code/fxbilling_source_code/FXBilling/build/classes/fxbilling/view/Home.fxml:14

    Do you have any idea on this? Please help me

    ReplyDelete
  15. Hi, check that "Project Properties > Build > Packaging > Binary Encode JavaFX CSS Files" option is turned on in your IDE. I hope doing so will resolve the issue.

    ReplyDelete
  16. Hi Sir, I really like your work. I open project in netbeans IDE and added required libraries but when I run the project then there is an error that these files(3-4 files)does not have many method. Sir how can I resolve this problem. Thanks

    ReplyDelete
  17. Hi Sir, I really like your work. I open project in netbeans IDE and added required libraries but when I run the project then there is an error that these files(3-4 files)"does not have main method". Sir how can I resolve this problem. Thanks

    Reply

    ReplyDelete
  18. Log configuration ? could you help us ?

    ReplyDelete
  19. This comment has been removed by the author.

    ReplyDelete
  20. Hello Dinesh, Nice efforts. Application really works smooth and faster as expected, still i stuck around print preview for invoices i am not able to generate print preview for invoices. I have configured all reports library files. Please help me out. Thanks in advance.

    ReplyDelete
  21. hi this is smitha, is it possible to change the Database to postgres sql please help me out. thanks in advance

    ReplyDelete
  22. Hi Dinesh, I may a job for you in coding a similar application. If you are interested feel free to contact me at stephane.mariani@gmail.com
    All the best

    ReplyDelete
  23. How could i open this project on netbeans?

    ReplyDelete
  24. This comment has been removed by a blog administrator.

    ReplyDelete
  25. Nice blog with useful contents. POS Software System is very helpful for growing the business. GST Billing software is a common trend in the market. The billing software in kerala provides good support.

    ReplyDelete
  26. Can you please, get me GST free billing software without any licensed version. This software is too good, but I want same thing for GST billing. THANK YOU...

    ReplyDelete
  27. This way my colleague Wesley Virgin's biography begins with this SHOCKING AND CONTROVERSIAL video.

    As a matter of fact, Wesley was in the military-and soon after leaving-he discovered hidden, "MIND CONTROL" tactics that the government and others used to obtain whatever they want.

    As it turns out, these are the same SECRETS lots of celebrities (notably those who "became famous out of nothing") and elite business people used to become rich and famous.

    You probably know that you only use 10% of your brain.

    Really, that's because most of your BRAINPOWER is UNCONSCIOUS.

    Perhaps that conversation has even occurred INSIDE your own brain... as it did in my good friend Wesley Virgin's brain around seven years ago, while driving a non-registered, beat-up garbage bucket of a car with a suspended license and with $3 on his bank card.

    "I'm absolutely frustrated with living check to check! Why can't I become successful?"

    You've been a part of those those questions, ain't it right?

    Your success story is going to happen. You just have to take a leap of faith in YOURSELF.

    Watch Wesley Virgin's Video Now!

    ReplyDelete
  28. Matrimony website
    Our Matrimony remains at the forefront of being India's largest, most trusted and most successful Matrimony website.
    - <a href="https://wedmatrimony.com/demo//https://wedmatrimony.com/demo/</a

    ReplyDelete
  29. Every reader can read this blog and must see screenshot according to author. A url has given to see more links. Does Gaming Improve This app has made to traders of india.

    ReplyDelete
  30. Nice presentation! I need some clarifications regarding invoice purpose. I am a single business owner, is free invoice generator tool is enough for my startup or else am i need to create the individual invoice software.

    ReplyDelete