Vbnet+billing+software+source+code Direct
Dim detailQuery As String = $"INSERT INTO tbl_InvoiceDetails (InvoiceNo, ProductID, Quantity, Price, GST_Amount, Total) VALUES ('invoiceNo', productID, qty, price, gstAmt, total)" ExecuteNonQuery(detailQuery)
If dt.Rows.Count > 0 Then Dim productID As Integer = dt.Rows(0)("ProductID") Dim pName As String = dt.Rows(0)("ProductName") Dim price As Decimal = Convert.ToDecimal(dt.Rows(0)("UnitPrice")) Dim gstPercent As Integer = Convert.ToInt32(dt.Rows(0)("GST_Percent"))
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. vbnet+billing+software+source+code
Private Sub btnGenerateInvoice_Click(sender As Object, e As EventArgs) Handles btnGenerateInvoice.Click If cartTable.Rows.Count = 0 Then MessageBox.Show("Cart is empty!") Return End If
' 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 Dim detailQuery As String = $"INSERT INTO tbl_InvoiceDetails
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.
Private WithEvents pd As New Printing.PrintDocument Private invoiceContent As String Private Sub PrintInvoice(ByVal invNo As String) ' Build invoice text Dim sb As New System.Text.StringBuilder() sb.AppendLine(" MY BILLING SOFTWARE ") sb.AppendLine("--------------------------") sb.AppendLine($"Invoice No: invNo") sb.AppendLine($"Date: DateTime.Now") sb.AppendLine("--------------------------") sb.AppendLine("Item Qty Price Total") For Each row As DataRow In cartTable.Rows sb.AppendLine($"row("ProductName") row("Quantity") row("Price") row("Total")") Next sb.AppendLine("--------------------------") sb.AppendLine($"Grand Total: lblGrandTotal.Text") sb.AppendLine("--------------------------") sb.AppendLine(" Thank you! ") Private WithEvents pd As New Printing
Imports System.Data.SqlClient Module DBConnection Public conn As SqlConnection Public cmd As SqlCommand Public da As SqlDataAdapter Public dt As DataTable



