Software Source Code - Vb.net Billing

Private Sub btnAddItem_Click(sender As Object, e As EventArgs) Handles btnAddItem.Click
    ' Assume txtProductCode, txtQuantity, dgvCart are controls
    Dim productCode As String = txtProductCode.Text.Trim
    Dim qty As Integer = Integer.Parse(txtQuantity.Text)
' Fetch product from DB
Dim cmd As New SqlCommand("SELECT ProductID, ProductName, UnitPrice, GST_Percent, StockQuantity FROM tbl_Product WHERE ProductCode=@code", con)
cmd.Parameters.AddWithValue("@code", productCode)
Dim da As New SqlDataAdapter(cmd)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count = 0 Then
    MessageBox.Show("Product not found")
    Return
End If
Dim row As DataRow = dt.Rows(0)
If qty > Convert.ToInt32(row("StockQuantity")) Then
    MessageBox.Show("Insufficient stock")
    Return
End If
' Add to DataGridView (cart)
dgvCart.Rows.Add(
    row("ProductID"),
    row("ProductName"),
    qty,
    row("UnitPrice"),
    row("GST_Percent"),
    qty * Convert.ToDecimal(row("UnitPrice"))
)
' Recalculate totals
RecalculateCartTotal()

End Sub

When using or building VB.NET billing software, watch out for:


Create a module mod_DB.vb to centralize your connection string: vb.net billing software source code

Imports System.Data.SqlClient

Module mod_DB Public connString As String = "Data Source=localhost\SQLEXPRESS;Initial Catalog=BillingDB;Integrated Security=True"

Public Function getConnection() As SqlConnection
    Return New SqlConnection(connString)
End Function
Public Function ExecuteNonQuery(ByVal query As String) As Integer
    Using conn As SqlConnection = getConnection()
        conn.Open()
        Using cmd As New SqlCommand(query, conn)
            Return cmd.ExecuteNonQuery()
        End Using
    End Using
End Function

End Module

While classic WinForms is stable, you can modernize your billing app:

Example – Export invoice to PDF using QuestPDF:

Using document As New Document(Of InvoiceData)(...)
    document.GeneratePdfAndShow()
End Using

This example will create a simple form with the following features: End Sub

When you download or build "VB.NET billing software source code," the Visual Studio solution will look like this:

VB.NET, despite being an older language, remains a robust choice for desktop-based billing software, especially for small to medium-sized retail stores, restaurants, or service centers. Its strengths lie in:

A billing system is a transaction-heavy CRUD application (Create, Read, Update, Delete). The core challenge is maintaining data integrity (no duplicate bills, correct tax calculations) and speed (instant search while billing). When using or building VB