MessageBox.Show($"Invoice Generated: invoiceNo") PrintInvoice(invoiceNo) ' Clear cart and reset cartTable.Clear() CalculateTotals() End Sub End Class Add a PrintDocument control and its PrintPage event.
' Check if already in cart Dim existingRow() As DataRow = cartTable.Select($"ProductID = productID") If existingRow.Length > 0 Then existingRow(0)("Quantity") += 1 Dim qty As Integer = Convert.ToInt32(existingRow(0)("Quantity")) Dim totalBeforeGST As Decimal = qty * price Dim gstAmt As Decimal = totalBeforeGST * (gstPercent / 100) existingRow(0)("GST_Amount") = gstAmt existingRow(0)("Total") = totalBeforeGST + gstAmt Else Dim gstAmt As Decimal = price * (gstPercent / 100) Dim totalWithGST As Decimal = price + gstAmt cartTable.Rows.Add(productID, pName, 1, price, gstPercent, gstAmt, totalWithGST) End If CalculateTotals() txtProductCode.Clear() txtProductCode.Focus() Else MessageBox.Show("Product not found!") End If End If End Sub vbnet+billing+software+source+code
' Insert into tbl_InvoiceDetails For Each row As DataRow In cartTable.Rows Dim productID As Integer = Convert.ToInt32(row("ProductID")) Dim qty As Integer = Convert.ToInt32(row("Quantity")) Dim price As Decimal = Convert.ToDecimal(row("Price")) Dim gstAmt As Decimal = Convert.ToDecimal(row("GST_Amount")) Dim total As Decimal = Convert.ToDecimal(row("Total")) MessageBox
Public Sub OpenConnection() ' Change Data Source according to your SQL Server instance conn = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=BillingDB;Integrated Security=True") If conn.State = ConnectionState.Closed Then conn.Open() End If End Sub invoiceContent = sb
Introduction In the world of small to medium-sized retail businesses, supermarkets, and restaurants, billing software is the backbone of daily operations. While cloud-based solutions are popular, desktop applications built with VB.NET and SQL Server (or MS Access) remain highly relevant due to their speed, offline accessibility, and low cost of ownership.
invoiceContent = sb.ToString() pd.Print() End Sub
Private Sub txtProductCode_KeyDown(sender As Object, e As KeyEventArgs) Handles txtProductCode.KeyDown If e.KeyCode = Keys.Enter Then Dim productCode As String = txtProductCode.Text.Trim() Dim query As String = $"SELECT ProductID, ProductName, UnitPrice, StockQuantity, GST_Percent FROM tbl_Products WHERE ProductCode='productCode'" Dim dt As DataTable = ExecuteQuery(query)