Share My Creation Invoicer WebApp using BVAD3 - Generate PDF Invoices for your businesses [Source Code @ $11]


BVAD PHP Connection Tester

Update: Please keep watch of the BVAD3 library as this gets updated from time to time.



The PayPal email address is



Watch This

It does the following & uses

1. MySQL backend using PHP.
2. Developed with BANano+Vuetify+Abstract Designer aka BVAD3.
3. CRUD Businesses
4. CRUD Clients
5. CRUD Taxes
6. CRUD Invoices including Line Items
7. Print Data-Tables to PDF
8. Print individual invoice to PDF
9. Save Invoices to MySQL backend

NB: 10. Whilst you are creating your invoices, it is saved to LocalStorage up until you save it to the database.

Running it

1. mysqli extension should be activated on your PHP running webserver.
2. import the attached .SQL file to MySQL - this can be done via phpMyAdmin
3. update the myconfig.php file with your connection settings.
4. update the file with your actual webserver address for BANanoPHP.
5. Open and run the BANanoVuetifyAD3 project and run it in release mode. DO NOT COMPILE TO JAR.
6. Open the BVAD3Invoicer project and run it.

Source code @ $11.

If you bundle this with the House Rental WebApp, the cost is $16 for both.
If you had procured the House Rental WebApp before, the cost for this for you is $8 instead of $11.

Watch this space!


Last edited:


Licensed User
Hi, I`ve added a dropdown showing a list of items from an SQL table. When I select one how do I get it to update the text in the 'Description' filed under Add Line? I tried everything i can think of, but nothing happens.

1. When a user clicks the edit button on the line items, a map of that item is passed to EditLineItem sub.

Private Sub dtLineItems_edit (LineItemM As Map)                'ignoredeadcode 
End Sub

This updates the state variable called "lineitem", meaning that anything that is linked to this state will be updated. Now

2. The description field is coded like this.

Dim description As VueElement = vuetify.AddTextField1(Me, licont.MatrixID(1, 1), "description", "lineitem.description", "Description", Null)

With a v-model of lineitem.description, so the description field will be updated with whatever is on the lineitem.get("description")

What you need to do in your case is fire a change event when an item changes. An example of this is here

Sub cboBusiness_change(item As String)
End Sub

Your change item however should update the lineitem map with the new values, along the lines of what EditLineItem is doing.


Active Member
Licensed User
Thanks for the explanation, it does help with some overall understanding but not sure if it's useful for my workflow...

1. Click [New Invoice]
2. Select Company
3. Select Client
4. Select Product (if you want to)
5. Click [+] button on the right drawer, if nothing selected in 'cboproducts' skip steps 6 & 7
6. Put 'cboproducts' selected item text into the 'description' field of the right drawer
7. From products map, find product price; and place into 'price' field of the right drawer
8. From productsA map, find product item; and place into 'item' field of the right drawer

Hope my workflow makes sense, and I`m not being stupid?



Licensed User
Hi, it seems you have not set up connections to your db correctly. In the first post there is a connection test exercise that you have to undertake, have you done that to see if that works first?

You can PM me if you experience further issues.
OK thanks;
i upgraded php to 7.4 in my laragon and now it works


Active Member
Licensed User
This is looking very good...

One can create an invoice for any company and any client based on already defined settings. For example, we have a prefix and a starting number for invoices.

View attachment 110371

Watch this space!!!!
Good day Mashiane, I made my payment with Transaction ID: 3AN30117MV897690B.
Thank you so much for sharing your talent specially to newbie like me in B4J.


Licensed User
Good day Mashiane, I made my payment with Transaction ID: 3AN30117MV897690B.
Thank you so much for sharing your talent specially to newbie like me in B4J.
Please note that if you join our Telegram Channel, you are eligible to receive our ICT Asset Manager Source code for free. The only thing we kindly request you to do is just test it.

You can join here:


Licensed User

Please note that with BANanoVuetifyAD3 Version 5.73+ you need to add this line before vuetify.Serve.

This was an automated process before.


Add it before vuetify.Serve on pgIndex

Thank you


You can download the latest library source code here:

Run the project (DO NOT COMPILE TO LIBRARY) to generate your own b4xlib.


Licensed User
hello Mashiane,
hello, I bought the source, because every time I run the program the "reference invoice" always starts from "invoice start"?