LÝ LUẬN CHUNG VỀ XÂY DỰNG PHẦN MỀM KẾ TOÁN DOANH THU BÁN HÀNG TRONG DOANH NGHIỆP
Cơ sở lý luận để xây dựng phần mềm kế toán trong doanh nghiệp
1.1.1 Khái niệm, đặc điểm, vai trò và các thành phần của phần mềm kế toán trong doanh nghiệp
Phần mềm (Software) là tập hợp các tập tin liên quan chặt chẽ, thực hiện các nhiệm vụ và chức năng trên thiết bị điện tử Các tập tin này bao gồm mã nguồn viết bằng nhiều ngôn ngữ lập trình, dữ liệu và hướng dẫn sử dụng.
Phần mềm kế toán là chương trình máy tính được thiết kế để tự động hóa các nhiệm vụ và chức năng kế toán, giúp giải quyết các vấn đề cụ thể trong quản lý tài chính.
Phần mềm kế toán là công cụ thiết yếu giúp thu nhận, lưu trữ và xử lý các nghiệp vụ kế toán trên máy tính Quá trình này bắt đầu từ việc thu thập thông tin từ chứng từ gốc, tiếp theo là xử lý dữ liệu và cuối cùng là cung cấp thông tin dưới dạng sổ sách kế toán, báo cáo tài chính, báo cáo quản trị và các báo cáo thống kê phân tích khác.
* Yêu cầu của phần mềm kế toán
Phần mềm kế toán cần đảm bảo hỗ trợ người dùng tuân thủ các quy định của Nhà nước về kế toán Việc sử dụng phần mềm không được làm thay đổi bản chất, nguyên tắc và phương pháp kế toán theo các văn bản pháp luật hiện hành.
Phần mềm kế toán cần có tính năng nâng cấp và khả năng sửa đổi, bổ sung để phù hợp với những thay đổi trong chế độ kế toán và chính sách tài chính, đồng thời đảm bảo không làm ảnh hưởng đến dữ liệu hiện có.
Phần mềm kế toán cần tự động hóa quy trình xử lý và đảm bảo độ chính xác của số liệu kế toán Đồng thời, nó cũng phải bảo vệ thông tin và đảm bảo an toàn cho dữ liệu người dùng.
1.1.1.2 Vai trò của phần mềm kế toán
Phần mềm kế toán ngày càng trở nên phổ biến và được áp dụng rộng rãi nhờ vai trò quan trọng mà nó mang lại cho kế toán và kiểm toán Để tối ưu hóa hiệu quả của phần mềm kế toán, doanh nghiệp cần lựa chọn giải pháp phù hợp nhất với nhu cầu và đặc thù của mình.
Phần mềm kế toán giúp doanh nghiệp ghi chép và xử lý các nghiệp vụ kế toán một cách nhanh chóng và hiệu quả Nó cung cấp các báo cáo chi tiết cùng với dữ liệu cần thiết, hỗ trợ cho chiến lược kinh doanh của công ty.
Hệ thống hỗ trợ các nghiệp vụ kế toán, giúp giảm áp lực cho việc quản lý sổ sách, tính toán và chi trả lương, cũng như giải quyết nhanh chóng các vấn đề liên quan đến thuế thu nhập Ngoài ra, nó còn hỗ trợ chuẩn bị khai thuế, lập sổ sách kế toán và các báo cáo tài chính Hệ thống tự động tạo các bút toán định kỳ, phân bổ và kết chuyển cuối kỳ, đồng thời kết nối thống nhất số liệu từ tất cả các phân hệ trong phần mềm.
Việc tin học hóa công tác kế toán đã thay thế hoàn toàn hoặc một phần công việc ghi chép, tính toán và xử lý thủ công của kế toán viên Nhờ vào thông tin từ phần mềm kế toán, nhà quản lý có thể đưa ra các quyết định kinh doanh hợp lý và nhanh chóng.
Phần mềm kế toán đóng vai trò quan trọng trong việc số hóa thông tin, góp phần hình thành một xã hội số Thông tin kế toán được lưu trữ dưới dạng tập tin điện tử, giúp dễ dàng trao đổi qua các báo cáo điện tử Thay vì sử dụng giấy tờ truyền thống, việc gửi thông tin kế toán hiện nay được thực hiện thông qua các công cụ điện tử như email, Internet và các phương tiện truyền thông khác.
1.1.1.3 Đặc điểm phần mềm kế toán
- Công việc kế toán thực hiện theo một chương trình PMKT trên máy vi tính
- Thiết kế theo nguyên tắc của 1 trong 4 hình thức kế toán hoặc kết hợp
- PMKT thiết kế theo hình thức kế toán nào sẽ có loại sổ của hình thức kế toán đó
1.1.1.4 Các thành phần của phần mềm kế toán
Hiện nay có hai công nghệ lập trình: lập trình cấu trúc và lập trình hướng đối tượng.
Trong lập trình cấu trúc, phần mềm được cấu thành từ các file chương trình và file dữ liệu Mỗi file chương trình bao gồm chương trình chính cùng với các chương trình con, được thể hiện dưới dạng hàm hoặc thủ tục, nhằm thực hiện các nhiệm vụ theo thiết kế đã được xác định trước.
Do đó PMKT hướng cấu trúc thường được sử dụng để xây dựng phần mềm hệ thống.
Trong lập trình hướng đối tượng, một PMKT gồm sáu thành phần:
Cơ sở dữ liệu (Database) bao gồm một tệp DBC lưu trữ toàn bộ thông tin về các tệp trong hệ thống và mối quan hệ giữa chúng, cùng với các tệp DBF được tổ chức dưới dạng các bảng.
Lớp (Class): là nơi lưu trữ các lớp do người sử dụng tự tạo dưới dạng các file, mỗi file có thể chứa nhiều lớp.
Giao diện (Form) là một thành phần quan trọng trong phần mềm ứng dụng, tạo ra cửa sổ để người dùng tương tác với hệ thống Các Form thường bao gồm Form đăng nhập, Form giao diện chính, Form nhập dữ liệu và Form báo cáo, giúp người dùng thực hiện các thao tác cần thiết một cách dễ dàng và hiệu quả.
Báo cáo (Report): là tài liệu để đưa ra dữ liệu từ cơ sở dữ liệu ra ngoài theo khuôn dạng đã định trước.
Hệ thống Menu được tổ chức theo một trật tự hợp lý, bao gồm các lệnh giúp người sử dụng dễ dàng tương tác với phần mềm Menu thường được phân cấp từ 2 đến 3 cấp, tạo điều kiện thuận lợi cho việc truy cập và sử dụng các tính năng.
Thành phần khác: Các thành phần khác bao gồm các file ảnh, text,…
Hoạt động của PMKT được chi làm 4 giai đoạn:
Lý luận chung về kế toán doanh thu bán hàng trong doanh nghiệp
1.2.1 Một số khái niệm liên quan đến kế toán doanh thu bán hàng a Bán hàng và doanh thu bán hàng
Bán hàng là giai đoạn cuối cùng trong quá trình tái sản xuất, nơi diễn ra hoạt động trao đổi giá trị sản phẩm, hàng hóa, lao vụ và dịch vụ thông qua các phương tiện thanh toán.
Cung cấp dịch vụ là việc thực hiện các công việc đã được thỏa thuận trong hợp đồng, diễn ra trong một hoặc nhiều kỳ kế toán Ví dụ về các dịch vụ này bao gồm vận tải, du lịch và cho thuê tài sản cố định.
Doanh thu bán hàng là tổng giá trị lợi ích kinh tế mà doanh nghiệp thu được trong kỳ kế toán, phát sinh từ hoạt động sản xuất kinh doanh thông thường, góp phần tăng cường vốn chủ sở hữu.
Doanh thu bán hàng và cung cấp dịch vụ bao gồm toàn bộ số tiền thu được từ các giao dịch và hoạt động tạo ra doanh thu, chẳng hạn như bán hàng hóa, sản phẩm và cung cấp dịch vụ.
Thuế tiêu thụ là nghĩa vụ của doanh nghiệp đối với nhà nước về hoạt động tiêu thụ sản phẩm, hàng hóa, cung cấp dịch vụ Gồm thuế:
Thuế giá trị gia tăng
Thuế tiêu thụ đặc biệt
Thuế xuất khẩu b Các khoản giảm trừ doanh thu bán hàng
Các khoản giảm trừ doanh thu bao gồm chiết khấu thương mại, giảm giá hàng bán và doanh thu hàng bán bị trả lại Những khoản này là cơ sở để xác định doanh thu thuần và kết quả kinh doanh trong kỳ kế toán Việc hạch toán và theo dõi chi tiết các khoản giảm trừ doanh thu trên các tài khoản kế toán phù hợp là cần thiết để cung cấp thông tin chính xác cho việc lập báo cáo tài chính.
Chiết khấu thương mại là khoản tiền mà doanh nghiệp giảm trừ cho người mua hàng khi họ mua sản phẩm, hàng hóa, dịch vụ với số lượng lớn Khoản chiết khấu này được xác định dựa trên thỏa thuận ghi trong hợp đồng kinh tế mua bán hoặc cam kết mua, bán hàng.
Hàng bán bị trả lại là số lượng sản phẩm mà doanh nghiệp đã ghi nhận doanh thu nhưng bị khách hàng trả lại do vi phạm các điều kiện hợp đồng hoặc chính sách bảo hành Nguyên nhân trả hàng thường liên quan đến hàng hóa kém chất lượng, không đúng quy cách hoặc sai chủng loại.
Giảm giá hàng bán là khoản tiền mà doanh nghiệp giảm trừ cho bên mua trong các trường hợp đặc biệt như hàng hóa kém phẩm chất, không đúng quy cách hoặc không đúng thời hạn theo hợp đồng Ngoài ra, thuế giá trị gia tăng phải nộp theo phương pháp trực tiếp.
Thuế GTGT là loại thuế gián thu áp dụng cho giá trị gia tăng của hàng hóa và dịch vụ trong quá trình sản xuất, lưu thông và tiêu dùng.
1.2.2 Nhiệm vụ của kế toán doanh thu bán hàng
Hạch toán chính xác tình hình tiêu thụ sản phẩm, hàng hóa và dịch vụ là rất quan trọng Điều này bao gồm việc theo dõi tình hình thanh toán với khách hàng cũng như các khoản thuế phải nộp cho ngân sách Việc này giúp doanh nghiệp quản lý tài chính hiệu quả và đảm bảo tuân thủ các quy định pháp luật.
Hạch toán chính xác giá vốn hàng bán của số sản phẩm, hàng hóa, dịch vụ,tiêu thụ.
Hạch toán chi tiết về nghiệp vụ bán hàng và xác định kết quả bán hàng vào mẫu sổ Kế toán chi tiết phù hợp.
Thường xuyên kiểm tra và đôn đốc công việc liên quan đến hợp đồng bán hàng là rất quan trọng Việc theo dõi tình hình hợp đồng và đôn đốc thanh toán tiền bán hàng giúp đảm bảo quy trình thanh toán diễn ra chính xác và hiệu quả.
Định kỳ lập báo cáo doanh thu theo yêu cầu của doanh nghiệp
Doanh thu tiêu thụ cần được phản ánh đầy đủ, chính xác và kịp thời, bao gồm chiết khấu thương mại, giảm giá hàng bán và hàng bán bị trả lại Từ đó, doanh thu thuần sẽ được xác định, giúp đánh giá kết quả kinh doanh một cách hiệu quả.
Báo cáo về tình hình thực hiện kế hoạch tiêu thụ sản phẩm, hàng hóa và dịch vụ là rất quan trọng Nó cung cấp thông tin kế toán cần thiết cho việc lập Báo cáo Tài Chính Đồng thời, báo cáo này cũng giúp phân tích định kỳ hoạt động kinh tế liên quan đến quá trình bán hàng, từ đó xác định và phân phối kết quả hiệu quả.
1.2.3 Các tài khoản kế toán sử dụng
TK sử dụng: Kế toán bán hàng sẽ lập sổ cái và sổ chi tiết cho các tài khoản
TK 511 – Doanh thu bán hàng và cung cấp dịch vụ.
TK 5111: Doanh thu bán hàng hóa
TK 5112: Doanh thu bán các thành phẩm
TK 5113: Doanh thu cung cấp dịch vụ
TK 5114: Doanh thu trợ cấp, trợ giá.
TK 5117: Doanh thu kinh doanh bất động sản đầu tư
TK 521 – Các khoản giảm trừ doanh thu
TK 5211: Chiết khấu thương mại
TK 5212: Giảm giá hàng bán
TK 5213: Hàng bán bị trả lại
TK 333 – Thuế và các khoản phải nộp Nhà nước.
TK 3331: Thuế GTGT phải nộp
TK 3332: Thuế tiêu thụ đặc biệt
TK 3333: Thuế xuất nhập khẩu.
TK 155: Thành phẩm + TK 1551: Thành phẩm nhập kho + TK 1552: Thành phẩm bất động sản
TK 1561: Giá mua hàng hoá
TK 1562: Chi phí thu mua hàng hoá
TK 157: Hàng gửi đi bán
TK 632: Giá vốn hàng bán
TK 131: Phải thu của khách hàng
TK 111: Tiền mặt+ TK 1111: Tiền Việt Nam
+ TK 1112: Ngoại tệ + TK 1113: Vàng tiền tệ
TK 112: Tiền gửi Ngân hàng + TK 1121: Tiền Việt Nam
TK 1122 ghi nhận ngoại tệ, trong khi TK 1123 theo dõi vàng tiền tệ Đối với tài khoản tiền gửi ngân hàng, có thể mở tài khoản cấp 3 để quản lý chi tiết cho từng ngân hàng.
1.2.4 Các chứng từ kế toán sử dụng
Các chứng từ kế toán sử dụng để kế toán doanh thu bán hàng bao gồm:
+ Hóa đơn GTGT (mẫu 01GTKT3/001).
+ Phiếu xuất kho + Phiếu xuất kho bán hàng + Phiếu nhập kho hàng bị trả lại + Phiếu giảm giá hàng bán + Chiết khấu thương mại…
1.2.5 Các hình thức sổ kế toán Áp dụng theo TT200/2014/TT-BTC Doanh nghiệp áp dụng một trong năm hình thức kế toán có những mẫu sổ tương ứng sau:
Hình thức kế toán Nhật ký chung ghi các sổ: Sổ Nhật kí chung, Sổ Nhật kí đặc biệt.
Đánh giá thực trạng công tác kế toán doanh thu bán hàng tại Công ty
đã cũ và sử dụng từ lâu nên hầu như tốc độ xử lý của các máy đều rất chậm.
-Năng lực phục vụ của máy tính chưa thực sự hiệu quả Còn nhiều việc phải làm thủ công.
Công ty đang tìm kiếm nhân viên có trình độ tin học cao hơn và sẽ tổ chức các buổi đào tạo chuyên sâu về công nghệ thông tin cho toàn bộ nhân viên.
Cơ sở vật chất: Phòng kế toán cần đề xuất với ban lãnh đạo quyết định thay hệ thống máy tính mới, hoạt động tốt hơn.
2.3.2 Hình thức sổ kế toán và chế độ kế toán sử dụng
Các chứng từ liên quan đến bán hàng và xác định doanh thu được lập và luân chuyển theo trình tự hợp lý, đảm bảo các yếu tố pháp lý như chữ ký bắt buộc, họ tên người lập và nội dung kinh tế rõ ràng Chứng từ được đánh số thứ tự liên tục, kiểm tra kỹ lưỡng trước khi ghi sổ để đảm bảo hiệu lực Việc lập chứng từ có sự độc lập và kiểm tra, đối chiếu lẫn nhau Chứng từ luân chuyển nội bộ được thiết kế phù hợp, cung cấp thông tin cần thiết cho quản lý bán hàng Sau khi ghi sổ kế toán, chứng từ được lưu trữ và bảo quản cẩn thận.
Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC sử dụng hệ thống tài khoản kế toán bán hàng và xác định doanh thu chủ yếu là tài khoản tổng hợp, tạo nên sự đơn giản trong quản lý Kết cấu và nội dung các tài khoản này được thực hiện theo đúng quy định của Bộ Tài chính, đảm bảo tính hợp pháp và hiệu quả trong hoạt động kế toán.
- Tài khoản 511 mới chỉ mở đến tài khoản cấp 2:
TK 5111: Doanh thu bán hàng hóa.
- Công ty chưa mở sổ chi tiết 156 cho từng loại sản phẩm sẽ rất khó để theo dõi tình hình tiêu thụ của mỗi loại hàng hóa.
Công ty nên phân chia tài khoản 156 và tài khoản 5111 thành các tài khoản con chi tiết cho từng loại hàng hóa Việc này giúp dễ dàng lập báo cáo doanh thu cho từng mặt hàng, từ đó nâng cao hiệu quả quản lý và phân tích doanh thu.
2.3.4.Tổ chức bộ sổ kế toán
Công ty tuân thủ đầy đủ các quy định của Bộ Tài chính trong việc quản lý kế toán doanh thu bán hàng, sử dụng các loại sổ chi tiết và tổng hợp cần thiết Sổ sách được trình bày rõ ràng, dễ hiểu và ghi chép đầy đủ, hợp lý Quy trình ghi sổ kế toán bán hàng được thực hiện theo chế độ kế toán do Bộ Tài chính ban hành, giúp thuận tiện cho việc đối chiếu và kiểm tra số liệu.
Mặc dù hệ thống sổ kế toán đã được thiết lập, công ty cần lưu ý một số hạn chế như việc ghi chép dễ bị trùng lặp, dẫn đến khối lượng công việc tăng lên, từ đó ảnh hưởng đến năng suất và hiệu quả của công tác kế toán.
Để khắc phục vấn đề, kế toán viên và kế toán trưởng cần đối chiếu chính xác số liệu giữa các chứng từ ghi sổ với các chứng từ ghi sổ khác do đồng nghiệp ở các phần hành kế toán khác lập Việc này phải được thực hiện trước khi ghi vào Sổ nhật ký chung.
2.3.5 Hệ thống báo cáo kế toán
Hệ thống báo cáo kế toán của Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC bao gồm báo cáo tài chính và báo cáo quản trị, trong đó khoản mục bán hàng được trình bày một cách hợp lý trên báo cáo tài chính.
Báo cáo kế toán quản trị chỉ được lập vào cuối quý, điều này không đáp ứng kịp thời yêu cầu quản lý và điều hành công việc của lãnh đạo Công ty.
Báo cáo kế toán quản trị cần được lập định kỳ hàng quý và khi có yêu cầu từ ban lãnh đạo hoặc khi có biến động bất thường, nhằm hỗ trợ việc ra quyết định trong sản xuất kinh doanh Do đó, việc thiết lập hệ thống báo cáo kế toán chuyên biệt là cần thiết để phân tích tình hình công ty một cách hiệu quả.
2.3.6 Quy trình hạch toán kế toán
Qui trình hạch toán được tổ chức một cách khoa học, giúp phản ánh đầy đủ các giao dịch kinh tế phát sinh và phù hợp với đặc thù ngành nghề kinh doanh của doanh nghiệp.
Hạch toán vẫn chủ yếu được thực hiện thủ công, với máy tính chỉ hỗ trợ tính toán, điều này có thể dẫn đến sai sót khi số lượng nghiệp vụ phát sinh lớn.
Để tối ưu hóa công tác kế toán, công ty cần ứng dụng công nghệ thông tin một cách hiệu quả Việc sử dụng phần mềm kế toán chuyên nghiệp sẽ thay thế phương pháp kế toán thủ công, giúp giảm thiểu sai sót trong hạch toán và nâng cao hiệu suất làm việc.
2.3.7 Đánh giá Tình hình ứng dụng công nghệ thông tin tại doanh nghiệp
Excel là phần mềm phổ biến trong kế toán, được nhiều doanh nghiệp vừa và nhỏ ưa chuộng Với nhiều tiện ích và công cụ tính toán nhanh chóng, Excel giúp nhân viên kế toán dễ dàng thực hiện các công việc của mình.
Doanh nghiệp áp dụng hệ thống tài khoản và mẫu chứng từ theo chế độ kế toán Việt Nam, giúp đơn giản hóa quá trình lập báo cáo chi tiết và tổng hợp về doanh thu bán hàng.
Thiết kế cơ sở dữ liệu vật lý
3.2.1 Thiết kế mô hình logic 3.2.1.1 Chuyển mô hình E-R sang mô hình quan hệ
Tài khoản => DMTK (Ma_TK, Ten_TK, Cap_TK,TK_Cap_Tren) Kho => DMKHO (Ma_Kho, Ten_Kho)
Khách hàng => DMKH (Ma_KH, Ten_KH, Dien_Thoai, Dia_Chi, Ma_So_Thue, Email)
Hàng hóa => DMHH (Ma_HH, Ten_HH, Dvt) CKTM => CKTM (Ma_HH, Ngay_HLuc, Tyle_CK, TT_CK)
Biểu diễn các mối quan hệ:
Nhập (So_Phieu, Ngay_Phieu, TK_No, TK_Co, Ma_KH, Ma_HH, Ma_Kho, Dien_Giai, So_Luong, Don_Gia, Thanh_Tien, CTLQ, Tong_Tien,)
Xuất (So_Phieu, Ngay_Phieu, TK_No, TK_Co, Ma_KH, Ma_Kho, Ma_HH, So_Luong, Don_gia, Thanh_Tien, Dien_Giai, CTLQ, Tong_Tien)
Bán hàng là quy trình quan trọng trong kinh doanh, bao gồm các yếu tố như số hợp đồng (So_HD), ngày hợp đồng (Ngay_HD), mã khách hàng (Ma_KH), thuế suất (Thue_Suat), số lượng (So_Luong), đơn giá (Don_gia) và thành tiền (Thanh_Tien) Ngoài ra, các tài khoản liên quan như tài khoản nợ thanh toán (TK_No_Thanh_Toan), tài khoản có doanh thu (TK_Co_Doanh_Thu), tài khoản có thuế (TK_Co_Thue), cùng với các khoản tiền thanh toán (Tien_Thanh_Toan), doanh thu (Tien_Doanh_Thu) và thuế (Tien_Thue) cũng rất quan trọng Hình thức thanh toán (HTTT) và tài khoản chiết khấu (TK_Chiet_Khau) là những yếu tố cần xem xét để đảm bảo hiệu quả trong hoạt động bán hàng.
Tyle_CK, Tien_CK) Giảm giá (So_Phieu, Ngay_Phieu, TK_No, TK_Co, Ma_HH, So_Luong, Don_Gia, Thanh_Tien)
Trả lại (So_Phieu, Ngay_Phieu, TK_No, TK_Co, Ma_KH, Ma_HH, Dien_Giai, So_Luong, Don_gia, Thanh_Tien, CTLQ, Tong_Tien,)
Chuẩn hóa là quá trình chuyển đổi quan hệ có cấu trúc phức tạp thành các quan hệ đơn giản và bền vững hơn Quá trình này bao gồm việc phân tích các lược đồ quan hệ dựa trên phụ thuộc hàm và khóa chính, nhằm đạt được các tính chất mong muốn như giảm thiểu sự dư thừa và hạn chế các phép cập nhật bất thường.
Hiện nay, có nhiều dạng chuẩn như chuẩn 4, chuẩn 5 và Boyce – Codd có khả năng loại bỏ dư thừa hiệu quả, nhưng chúng gây khó khăn cho lập trình viên Do đó, chúng ta chỉ xem xét đến chuẩn 3 Đối với bảng Phieu_Nhap, các thuộc tính lặp như Ma_HH, So_Luong và Don_Gia khiến nó chưa đạt chuẩn 1 NF Vì vậy, cần tách bảng Phieu_Nhap thành 2 lược đồ quan hệ.
Phieu_Nhap (So_Phieu, Ngay_Phieu, Ma_KH, Ma_Kho, Dien_Giai, CTLQ, Tong_Tien)
CT_Phieu_Nhap (So_Phieu, Ma_HH, TK_No, TK_Co, So_Luong, Don_Gia, Thanh_Tien)
Thỏa mãn chuẩn 3 NF. b Chuẩn hóa Phieu_Xuat Phieu_Xuat (So_Phieu, Ngay_Phieu, Ma_KH, Ma_Kho, Dien_Giai, CTLQ, Tong_Tien)
CT_Phieu_Xuat (So_Phieu, Ma_HH, TK_No, TK_Co, So_Luong, Don_Gia, Thanh_Tien)
Để thỏa mãn chuẩn 3 NF, cần chuẩn hóa bảng HDHH Bảng HDHH hiện tại có các thuộc tính trùng lặp như (Ma_HH, So_Luong, Don_Gia), dẫn đến việc không đáp ứng chuẩn 1 NF Do đó, cần tách HDHH thành 2 lược đồ quan hệ khác nhau để cải thiện cấu trúc dữ liệu.
HDHH (So_HD, Ngay_HD, Ma_KH, Thue_Suat, TK_No_Thanh_Toan, TK_Co_Doanh_Thu, TK_Co_Thue, TK_Chiet_Khau, Tien_CK,
Tiến hành chuẩn hóa dữ liệu liên quan đến hóa đơn, bao gồm các thuộc tính như Tien_Thanh_Toan, Tien_Doanh_Thu, Tien_Thue và thông tin hóa đơn (So_HD, Ma_HH, So_Luong, Don_Gia, Thanh_Tien) Đặc biệt, phiếu giảm giá hiện tại chưa đáp ứng chuẩn 1 NF do có các thuộc tính lặp như Ma_HH, So_Luong, Don_Gia Do đó, cần tách phiếu giảm giá thành hai lược đồ quan hệ để đảm bảo tính chuẩn hóa.
Giam_Gia (So_Phieu, Ngay_Phieu, TK_No, TK_Co, Ma_KH, Dien_Giai, CTLQ, Tong_Tien)
Trong cơ sở dữ liệu, bảng CT_GiamGia chứa các thuộc tính như So_Phieu, Ma_HH, Ten_HH, Dvt, So_Luong, Don_Gia và Thanh_Tien Tuy nhiên, bảng Tra_Lai không đạt tiêu chuẩn 1 NF do có các thuộc tính lặp như Ma_HH, So_Luong và Don_Gia Để khắc phục vấn đề này, cần tách bảng Tra_Lai thành hai lược đồ quan hệ khác nhau.
Tra_Lai (So_Phieu, Ngay_Phieu, TK_No, TK_Co, Ma_KH, Ma_Kho, Dien_Giai, CTLQ, Tong_Tien)
CT_TraLai (So_Phieu, Ma_HH, Ten_HH, So_Luong, Don_Gia, Thanh_Tien)
Tất cả các quan hệ đã thỏa mãn chuẩn BCNF
3.2.1.2 Mô hình dữ liệu quan hệ
Hình 4.0 Mô hình dữ liệu quan hệ
3.2.1.3 Thiết kế cơ sở dữ liệu vật lý
Trong hệ thống quản lý, chúng ta giữ lại các mối quan hệ quan trọng từ biểu đồ mô hình quan hệ, bao gồm: DMKH (Danh mục Khách hàng), DMHH (Danh mục Hàng hóa), DMTK (Danh mục Tài khoản), HDHH (Hóa đơn Hàng hóa), DMKHO (Danh mục Kho), CTHoaDon (Chi tiết Hóa đơn), CKTM (Chiết khấu Thương mại), PhieuNhap (Phiếu Nhập), PhieuXuat (Phiếu Xuất), CTPhieuNX (Chi tiết Phiếu Xuất), PhieuGiamGia (Phiếu Giảm Giá), CTPhieuGiamGia (Chi tiết Phiếu Giảm Giá), HoaDonTraLai (Hóa đơn Trả lại), CTHoaDonTraLai (Chi tiết Hóa đơn Trả lại) và SoDuDauKy (Số Dư Đầu Kỳ).
Quan hệ giữa PhieuNhap và HoaDonTraLai, cũng như CTPhieuNX và CTHoaDonTraLai có cấu trúc tương tự, do đó chúng ta có thể kết hợp các quan hệ này thành PhieuNhap với các trường thông tin bao gồm SoCT, NgayCT, MaKH, MaKho, LyDo, CTLQ, và MaCT Đồng thời, CTPhieuNX sẽ bao gồm các trường SoCT, MaHH, TKNo, TKCo, SoLuong, DonGia, và ThanhTien.
Sử dụng Microsoft SQL Server Management để quản lý cơ sở dữ liệu, các bảng được đặt tên theo quy tắc chung với các ký tự viết tắt đại diện cho đối tượng Quy trình này dựa trên kết quả chuẩn hóa và yêu cầu thực tế hiện tại.
Ta có cơ sở dẽ liệu vật lý được thiết kế như sau:
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.3: Bảng cơ sở vật lý danh mục tài khoản
Quy tắc mã hóa tài khoản trong kế toán doanh nghiệp quy định rằng mã tài khoản (Ma_TK) phải được xây dựng dựa trên số hiệu tài khoản trong Bảng danh mục hệ thống tài khoản kế toán, theo thông tư 200 của Bộ Tài Chính.
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.4: Bảng cơ sở vật lý danh mục khách hàng
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.5: Bảng cơ sở vật lý danh mục hàng hóa
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.6: Bảng cơ sở vật lý danh mục kho
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.7: Bảng cơ sở vật lý phiếu nhập
2 ký tự đầu là viết tắt của phiếu nhập: PN
4 ký tự sau là số thứ tự của phiếu nhập
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.8: Bảng cơ sở vật lý phiếu xuất
2 ký tự đầu là viết tắt của phiếu xuất: PX
4 ký tự sau là số thứ tự của phiếu
Tên trường Kiểu Ràng buộc
Bảng 3.9: Bảng cơ sở vật lý chi tiết phiếu nhập
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.10: Bảng cơ sở vật lý hóa đơn hàng hóa
2 ký tự đầu là viết tắt của hóa đơn: HD
4 ký tự sau là số thứ tự của hóa đơn
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.11: Bảng cơ sở vật lý chi tiết hóa đơn
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.12: Bảng cơ sở vật lý chiết khấu thương mại
3 ký tự đầu là viết tắt của chiết khấu mại: CKM
3 ký tự sau là số thứ tự của bảng chiết khấu
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.13: Bảng cơ sở vật lý giảm giá
3 ký tự đầu là viết tắt của phiếu giảm giá: PGG
3 ký tự sau là số thứ tự của phiếu
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.14: Bảng cơ sở vật lý chi tiết giảm giá
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.15: Bảng cơ sở vật lý hóa đơn trả lại
Tên trường Kiểu dữ liệu Ràng buộc
Bảng 3.16: Bảng cơ sở vật lý chi tiết hóa đơn trả lại
Xây dựng phần mềm kế toán doanh thu bán hàng tại Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC
FSI Việt Nam 3.1.1 Hệ thống giao diện tương tác
Menu số dư đầu kỳ
Giao diện đăng nhập hệ thống
Giao diện chính của chương trình
Giao diện danh mục tài khoản
Giao diện danh mục hàng hóa
Giao diện danh mục khách hàng
Giao diện danh mục kho
Giao diện cập nhật,thêm mới
Phiếu giảm giá hàng bán
Hóa đơn trả lại hàng bán
Sổ chi tiết tài khoản
Báo cáo doanh thu khách hàng
Báo cáo doanh thu theo mặt hàng
Báo cáo giảm trừ doanh thu
Báo cáo tổng hợp doanh thu bán hàng
Trong bối cảnh nền kinh tế thị trường cạnh tranh hiện nay, việc ứng dụng công nghệ thông tin vào quản lý là yếu tố sống còn cho doanh nghiệp, đặc biệt là hệ thống quản lý doanh thu bán hàng Đề tài "Xây dựng phần mềm kế toán doanh thu bán hàng tại Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC" được thực hiện nhằm đáp ứng nhu cầu thực tế và giảm bớt khó khăn trong quản lý doanh thu Qua quá trình nghiên cứu và thực hiện đề tài, tôi đã đạt được nhiều kết quả tích cực.
- Khảo sát được hiện trạng hệ thống bán hàng tại Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC
- Phân tích chi tiết đề tài
- Xây dựng hoàn thành chỉnh cơ sở dữ liệu về quản lý bán hàng tại Công ty.
- Xây dựng được một số module cơ bản của công tác quản lý doanh thu bán hàng tại công ty.
Với thời gian và kiến thức hạn chế, bài viết của em không thể tránh khỏi những thiếu sót Em rất mong nhận được sự góp ý nhiệt tình từ các thầy cô và bạn bè để có thể bổ sung và hoàn thiện đề tài của mình hơn.
Tôi xin gửi lời cảm ơn chân thành đến các thầy cô đã hỗ trợ tôi trong quá trình thực hiện đồ án, cũng như các anh chị trong phòng tài chính kế toán của Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC đã giúp tôi hiểu rõ hơn về các nghiệp vụ kế toán Đặc biệt, tôi rất biết ơn cô giáo ThS Đồng Thị Ngọc Lan vì đã trực tiếp hướng dẫn tôi hoàn thành đồ án này.
DANH MỤC TÀI LIỆU THAM KHẢO
[1] TS Vũ Bá Anh - Giáo trình Cơ sở dữ liệu II - Học viện Tài Chính
[2] TS Vũ Bá Anh - Giáo trình Phân tích thiết kế Hệ thống thông tin - Học viện Tài Chính
[3] ThS Phan Phước Long – Bài giảng gốc Cơ sở dữ liệu III - Học viện Tài chính
[4] TS Hà Văn Sang – Bài giảng gốc Cơ sở lập trình II - Học viện Tài Chính
[5] TS Nguyễn Hữu Xuân Trường – Bài giảng gốc Cơ sở lập trình III – Học viện Tài Chính
[6] GS.TS Ngô Thế Chi, TS Trương Thị Thủy - Giáo trình Kế Toán Tài
Chính - Nhà xuất bản Tài Chính 2010.
PHỤ LỤC Phụ lục A: Các mẫu chứng từ, mẫu sổ, mẫu báo cáo
Phụ lục B: Một số mẫu chứng từ, mẫu sổ, mẫu báo cáo của Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC
Phụ lục C: Một số đoạn code cơ bản
MỘT SỐ ĐOẠN CODE CƠ BẢN
The article discusses the implementation of a registration form in a C# application using Windows Forms and DevExpress components It begins by importing essential namespaces such as System, System.Collections.Generic, and System.Data, which are crucial for data handling and user interface design The code defines a partial class `frmDangKy` that inherits from `DevexpressNVP.frmBase`, indicating a structured approach to building the registration functionality within the KeToan namespace This setup highlights the integration of database connectivity through SqlClient, emphasizing the importance of efficient data management in the application.
InitializeComponent(); foreach (Control control in this.Controls) {
} cboRole.Properties.DataSource = SqlConnect.connect.GetTable("SELECT
1 AS Quyen, N'Toàn quyền' AS TenQuyen UNION ALL SELECT 2, N'Nhập liệu' UNION ALL SELECT 3, N'Xem báo cáo' ORDER BY Quyen"); cboRole.Properties.ValueMember = "Quyen"; cboRole.Properties.DisplayMember = "Quyen";
} public void btnDangKy_Click(object sender, EventArgs e) { if (txtUser.Text == "") {
MessageBox.Show("Tên người dùng không được để trống", "Thông txtUser.Focus(); return;
MessageBox.Show("Mật khẩu không được để trống", "Thông báo"); txtPassword.Focus(); return;
} if (txtPassword2.Text != txtPassword.Text) {
MessageBox.Show("Xác nhận mật khẩu không đúng", "Thông Báo"); txtPassword2.Refresh(); txtPassword2.Focus(); return;
} if (SqlConnect.connect.CheckPrimary("NguoiDung", "TenDN", txtUser.Text.Trim()) == false)
{ string tentruong = "TenDN, MatKhau, TenNguoiDung, Quyen"; string giatri = "'" + txtUser.Text + "','" + txtPassword.Text + "',N'" + txtFullName.Text + "'," + cboRole.EditValue + "";
SqlConnect.connect.Insert("NguoiDung", tentruong, giatri, "TenDN", txtUser.Text.Trim(), true);
MessageBox.Show("Đăng kí thành công", "Thông báo"); this.Close();
} else { MessageBox.Show("Tên người dùng đã tồn tại", "Thông báo"); txtUser.Refresh(); txtPassword.Refresh(); txtPassword2.Refresh();
} } public void btnThoat_Click(object sender, EventArgs e)
The code snippet demonstrates the creation of a form for managing inventory entries in a C# application, utilizing the DevExpress framework It includes necessary namespaces such as System, System.Collections.Generic, and System.Windows.Forms, while defining a partial class named `frmPhieuNhapEdit` that inherits from `DevexpressNVP.frmCatalogBase` This setup is essential for building user interfaces that facilitate efficient data entry and management in accounting applications.
// Load dữ liệu khi sửa int isLoadEdit = 0; public frmPhieuNhapEdit() {
} public void frmDMTKEdit_Load(object sender, EventArgs e) {
// Load dữ liệu ngầm định base.LoadData(); isLoadEdit = 1; controls_EditValueChanged(null, null); isLoadEdit = 0;
// Load dữ liệu cho GridLookupEdit
SqlConnect.connect.GridLookUpEditData(cboMaKH, "DMKH", "MaKH, TenKH, MaSoThue", "MaKH", "MaKH");
SqlConnect.connect.GridLookUpEditData(cboMaKho, "DMKho",
SqlConnect.connect.GridLookUpEditData(cboMaTK, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboMaHH, "DMHH", "MaHH, TenHH", "MaHH", "MaHH");
// Gán mã chứng từ txtMaCT.EditValue = SqlConnect.connect.maCT; txtMaCT.Visible = false;
// Xử lý tự tăng số chứng từ if (SqlConnect.connect.isAdd == 1) txtSoCT.EditValue =
SqlConnect.connect.CreateColKeyNew("PhieuNhap", "SoCT", SqlConnect.connect.maCT, 3);
} public override void Save() { base.Save();
} public override void grv_CellValueChanged(object sender, CellValueChangedEventArgs e)
{ base.grv_CellValueChanged(sender, e); var editor = sender as DevExpress.XtraGrid.Views.Grid.GridView; if (e.Column.FieldName == "MaHH") { string s = SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'"
"'").Rows[0][0].ToString(); editor.SetRowCellValue(e.RowHandle, "TenHH", SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'"
"'").Rows[0][0].ToString()); editor.SetRowCellValue(e.RowHandle, "DVT", SqlConnect.connect.GetTable("SELECT T1.DVT FROM DMHH T1 WHERE MaHH = N'"
} if (e.Column.FieldName == "SoLuong" || e.Column.FieldName ==
"DonGia") { editor.SetRowCellValue(e.RowHandle, "ThanhTien",
Math.Round((Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle,
"SoLuong"))) * Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle,
} } public override void controls_EditValueChanged(object sender, EventArgs e) { if(cboMaKH.ContainsFocus || isLoadEdit == 1) { txtTenKH.EditValue = SqlConnect.connect.GetValue("SELECT TenKH FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'"); txtDiaChi.EditValue = SqlConnect.connect.GetValue("SELECT DiaChi FROM DMKH WHERE MaKH = N'"
To create the HDHH form, utilize the System namespace along with essential libraries such as System.Collections.Generic, System.ComponentModel, System.Data, System.Drawing, System.Linq, System.Text, and System.Threading.Tasks The form is defined within the KeToan namespace and inherits from DevexpressNVP.frmCatalogBase, specifically in the partial class frmHDHHEdit.
// Load dữ liệu khi sửa int isLoadEdit = 0; public frmHDHHEdit() {
} public void frmDMTKEdit_Load(object sender, EventArgs e) {
// Load dữ liệu ngầm định base.LoadData(); isLoadEdit = 1; controls_EditValueChanged(null, null); isLoadEdit = 0;
// Load dữ liệu cho GridLookupEdit SqlConnect.connect.GridLookUpEditData(cboMaKH, "DMKH", "MaKH, TenKH, MaSoThue", "MaKH", "MaKH");
SqlConnect.connect.GridLookUpEditData(cboMaTK, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
"DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboTKCoDoanhThu, "DMTK",
SqlConnect.connect.GridLookUpEditData(cboTKChietKhau, "DMTK",
SqlConnect.connect.GridLookUpEditData(cboTKCoThue, "DMTK",
SqlConnect.connect.GridLookUpEditData(cboMaHH, "DMHH", "MaHH, TenHH", "MaHH", "MaHH");
// Gán mã chứng từ txtMaCT.EditValue = SqlConnect.connect.maCT; txtMaCT.Visible = false;
// Xử lý tự tăng số chứng từ if (SqlConnect.connect.isAdd == 1) txtSoCT.EditValue = SqlConnect.connect.CreateColKeyNew("HDHH",
} public override void Save() { base.Save();
} public override void grv_CellValueChanged(object sender, CellValueChangedEventArgs e)
{ base.grv_CellValueChanged(sender, e); var editor = sender as DevExpress.XtraGrid.Views.Grid.GridView; if (e.Column.FieldName == "MaHH") { string s = SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'"
"'").Rows[0][0].ToString(); editor.SetRowCellValue(e.RowHandle, "TenHH", SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'"
"'").Rows[0][0].ToString()); editor.SetRowCellValue(e.RowHandle, "DVT", SqlConnect.connect.GetTable("SELECT T1.DVT FROM DMHH T1 WHERE MaHH = N'"
} if (e.Column.FieldName == "SoLuong" || e.Column.FieldName ==
"DonGia") { editor.SetRowCellValue(e.RowHandle, "ThanhTien",
Math.Round((Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle,
"SoLuong"))) * Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle,
} decimal tongtien = 0; for (int i = 0; i < grview.RowCount - 1; i++) { decimal _d1 = Convert.ToDecimal(grview.GetRowCellValue(i,
} if (ktrasua == 1) { calTienDoanhThu.EditValue = tongtien;
//txtThue.EditValue = tongtien * Convert.ToDecimal(txtThue_Suat.EditValue)/100;
To calculate the total amount, first determine the base amount by applying the tax rate: `totalAmount = baseAmount + baseAmount * (taxRate / 100)` Next, calculate the discount amount using the discount rate: `discountAmount = baseAmount * (discountRate / 100)` The tax amount is then derived from the adjusted base after discount: `taxAmount = (baseAmount - discountAmount) * (taxRate / 100)` Finally, the total payable amount is calculated by summing the base amount and the adjusted tax amount.
Convert.ToDecimal(calThueSuat.EditValue) / 100) - (tongtien * Convert.ToDecimal(calTyLeCK.EditValue) / 100);
} public override void controls_EditValueChanged(object sender, EventArgs e) { if(cboMaKH.ContainsFocus || isLoadEdit == 1) { txtTenKH.EditValue = SqlConnect.connect.GetValue("SELECT TenKH FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'"); txtDiaChi.EditValue = SqlConnect.connect.GetValue("SELECT DiaChi FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'"); txtMaSoThue.EditValue = SqlConnect.connect.GetValue("SELECT MaSoThue FROM DMKH WHERE MaKH = N'"