- ỨNG DỤNG
- Kế toán doanh thu & chi phí theo tuyến đường 17.0
| Số dòng Code | 248 |
| Tên kỹ thuật | to_geo_routes_account |
| Giấy phép | OPL-1 |
| Website | https://viindoo.com/apps/app/17.0/to_geo_routes_account |
| Đọc mô tả cho | |
| Yêu cầu các App | Invoicing (account) Discuss (mail) |
| Bao gồm Các phụ thuộc | Nền tảng định tuyến đa nhà cung cấp Viindoo Mô-đun Cơ Sở Ghi nhật ký API Request |
Ứng dụng này làm gì
Module này cung cấp tầng tích hợp kế toán tổng quát cho các tuyến đường địa lý. Mỗi tuyến đường có thể được gắn với một tài khoản kế toán quản trị riêng trên một sơ đồ phân tích chuyên biệt "Tuyến đường Địa lý", và hóa đơn mua / hóa đơn bán được liên kết với tuyến thông qua các bút toán kế toán quản trị thay vì các trường tùy biến.
Module được thiết kế như một nền tảng dùng chung cho các module ngành dọc như Lập kế hoạch Đội xe, Giao nhận vận tải, v.v. Các module này có thể tạo tài khoản kế toán quản trị tuyến theo yêu cầu khi chứng từ nghiệp vụ của chúng được xác nhận.
Tính năng chính
- Cấu trúc phân tích xoay quanh tuyến đường
- Cung cấp sơ đồ phân tích "Tuyến đường Địa lý" dành riêng cho việc phân tích theo tuyến.
- Cho phép mỗi tuyến đường gắn với một tài khoản kế toán quản trị riêng để theo dõi chi phí và doanh thu theo tuyến.
- Bảo vệ sơ đồ phân tích tuyến không bị xóa khi vẫn đang được các tuyến sử dụng.
- Tài khoản kế toán quản trị an toàn cho tuyến đường
- Liên kết tài khoản kế toán quản trị ngược lại với các tuyến đường đang sử dụng tài khoản đó.
- Ngăn không cho xóa tài khoản kế toán quản trị nếu đang được ít nhất một tuyến đường yêu cầu.
- Cung cấp một trường tính toán tắt từ tài khoản kế toán quản trị về tuyến chính được liên kết.
- Gắn hóa đơn mua và hóa đơn bán với tuyến đường
- Suy ra mối quan hệ giữa tuyến và bút toán kế toán từ các dòng kế toán quản trị trên sơ đồ tuyến đường.
- Tính toán số lượng hóa đơn mua và hóa đơn bán theo từng tuyến dựa trên các dòng kế toán quản trị, không cần trường tùy biến.
- Thêm các nút thông minh trên form tuyến để mở đúng các hóa đơn mua và hóa đơn bán liên quan với bộ lọc phù hợp.
- Điểm móc tái sử dụng cho các module ngành dọc
- Cung cấp hàm route._generate_analytic_account_if_not_exists() để các module đội xe, giao nhận, v.v. tạo tài khoản kế toán quản trị tuyến khi quy trình nghiệp vụ thực sự cần.
- Tránh làm rác hệ thống tài khoản kế toán quản trị bằng cách chỉ sinh tài khoản cho những tuyến thực sự được dùng trong vận hành.
- Giữ phần lõi tích hợp nhỏ gọn, tổng quát và dễ mở rộng trong các ứng dụng khác.
Ấn bản được Hỗ trợ
- Ấn bản Community
- Ấn bản Enterprise
Kế toán doanh thu & chi phí theo tuyến đường (to_geo_routes_account)
Cài đặt
- Vào Ứng dụng.
- Tìm to_geo_routes_account.
- Nhấn Kích hoạt.
Note
to_geo_routes_account mở rộng Nền tảng Định tuyến đa nhà cung cấp Viindoo (to_geo_routes) với các tính năng kế toán dành riêng cho tuyến đường. Ứng dụng yêu cầu module Kế toán (account) của Odoo/Viindoo.
Cấu hình
Sơ đồ tài khoản quản trị cho tuyến đường
Sau khi cài đặt, hệ thống sẽ tạo sẵn một sơ đồ quản trị:
- Sơ đồ Tuyến đường Địa lý (Geographical Route Analytic Plan)
- Dùng để gán mỗi tuyến đường với một Tài khoản quản trị (Analytic Account)
- Các khoản phân bổ chi phí/doanh thu theo tuyến được ghi nhận dưới dạng Phát sinh kế toán quản trị (Analytic Item)
Sơ đồ này được bảo vệ và không thể xóa khi vẫn còn tuyến đường đang sử dụng.
Bổ sung trên form tuyến đường
Trên form Tuyến đường (model route.route), module thêm:
- Trường Tài khoản quản trị
- Nút thông minh Hóa đơn mua (Vendor Bills)
- Nút thông minh Hóa đơn bán (Customer Invoices)
- Hành động Tạo tài khoản quản trị (nếu được bật)
Người dùng không cần cấu hình gì thêm. Các phần này tự xuất hiện sau khi cài module.
Quyền truy cập
- Chỉ người dùng kế toán (có quyền Accountant) mới được phép tạo Tài khoản quản trị từ tuyến đường.
- Người dùng nội bộ thông thường có thể:
- Xem Tài khoản quản trị của tuyến (nếu được phân quyền truy cập)
- Mở danh sách Hóa đơn mua và Hóa đơn bán từ các nút thông minh (theo quyền kế toán hiện có)
Note
Module không tự động tạo Tài khoản quản trị cho tất cả tuyến đường. Việc tạo chỉ diễn ra khi có nhu cầu thực tế, ví dụ khi xác nhận chuyến xe, booking logistics, v.v.
Hướng dẫn sử dụng – Dành cho Người dùng
Tổng quan
Với tư cách người dùng vận hành, Kế toán doanh thu & chi phí theo tuyến đường cho phép bạn:
- Gán mỗi tuyến quan trọng với một Tài khoản quản trị.
- Theo dõi đầy đủ chi phí và doanh thu theo tuyến.
- Mở nhanh danh sách Hóa đơn mua / bán liên quan đến tuyến qua các nút thông minh.
Tạo tài khoản quản trị cho tuyến
Có hai cách tuyến đường có Tài khoản quản trị:
- Tự động (bởi module ngành dọc)
- Trong các module như Lập kế hoạch Đội xe, Freight… khi bạn xác nhận một chứng từ (trip, booking, vận đơn), module đó gọi hàm route._generate_analytic_account_if_not_exists().
- Nếu tuyến chưa có Tài khoản quản trị, hệ thống sẽ tạo mới và liên kết.
- Thủ công
- Mở tuyến đường.
- Chọn Tạo tài khoản quản trị.
- Hệ thống tạo mới Tài khoản quản trị theo quy tắc và gắn với tuyến nếu nó chưa có.
Note
Module sử dụng quy tắc đặt tên và mã tài khoản để tránh trùng lặp và tránh phát sinh tài khoản rác.
Cách Hóa đơn mua và Hóa đơn bán được liên kết với tuyến
Khác với các module khác, module này không thêm trường route_id vào account.move. Thay vào đó, quan hệ được suy ra từ Phát sinh kế toán quản trị (Analytic Items):
- Khi Hóa đơn mua hoặc Hóa đơn bán được ghi sổ: - Kế toán phân bổ chi phí/doanh thu qua phân bổ kế toán quản trị - Nếu phần phân bổ nằm trên Sơ đồ Tuyến đường Địa lý, trỏ vào tài khoản tuyến → hệ thống hiểu chứng từ đó thuộc tuyến
Từ đó tuyến sẽ hiển thị:
- Nút Hóa đơn mua: mở danh sách hóa đơn có Analytic Items trên tài khoản tuyến
- Nút Hóa đơn bán: tương tự cho hóa đơn bán
Ví dụ quy trình
- Điều phối hoặc kế hoạch xác nhận một chuyến xe, hoặc một booking freight.
- Module ngành dọc gọi: route._generate_analytic_account_if_not_exists().
- Hóa đơn mua/bán được tạo trong Kế toán.
- Kế toán phân bổ chi phí/doanh thu vào Tài khoản quản trị của tuyến.
- Tuyến đường tự động hiển thị:
- Số lượng Hóa đơn mua
- Số lượng Hóa đơn bán
- Nút để mở danh sách chứng từ liên quan
Hướng dẫn sử dụng – Dành cho Kế toán
Những thay đổi đối với đội ngũ kế toán
Kế toán sẽ có thêm:
- Một sơ đồ quản trị mới chuyên cho Tuyến đường.
- Một Tài khoản quản trị cho mỗi tuyến có sử dụng thực tế.
- Khả năng xem tổng chi phí/doanh thu theo tuyến mà không cần custom fields.
Khi hạch toán chứng từ
Khi ghi sổ (post) hóa đơn mua / bán:
- Sử dụng phân bổ kế toán quản trị (analytic distribution)
- Chọn Tài khoản quản trị của tuyến trên Sơ đồ Tuyến đường Địa lý
Hệ thống sẽ:
- Tự động tổng hợp chi phí/doanh thu theo tuyến.
- Hiển thị số liệu liên quan ngay trên form tuyến đường.
Hướng dẫn cho Lập trình viên
Tổng quan kỹ thuật
to_geo_routes_account hoạt động như một nền tảng kế toán cho các module ngành dọc, cho phép:
- Mỗi tuyến → một Tài khoản quản trị (khi cần)
- Phát sinh kế toán quản trị → liên kết Vendor Bills / Customer Invoices với tuyến
- Các module ngành dọc tự do mở rộng mà không phải tạo cấu trúc kế toán riêng
Sinh tài khoản tuyến theo yêu cầu
Module ngành dọc không được tự sinh tài khoản khi tạo tuyến. Thay vào đó phải gọi:
from odoo import models class FleetTrip(models.Model): _inherit = 'fleet.trip' def action_confirm(self): res = super().action_confirm() for trip in self: route = trip.route_id if route: route._generate_analytic_account_if_not_exists() return res
Quy tắc:
- Chỉ gọi hàm này khi nghiệp vụ thực sự sử dụng tuyến (ví dụ xác nhận chuyến)
- Không gọi trong create() hoặc write() của tuyến
- Không tự tạo cân đối kế toán thủ công – luôn dùng hàm trên
Ghi nhận chi phí/doanh thu theo tuyến
Để ghi chi phí/doanh thu cho tuyến:
- Tạo Phát sinh kế toán quản trị (analytic item) trên tài khoản tuyến
- Thuộc Sơ đồ Tuyến đường Địa lý
Module cung cấp helper:
- _get_analytic_plan_geo_route()
- _get_route_account_column_name()
Ví dụ tạo analytic item:
analytic_line_model = self.env['account.analytic.line'] route_plan = analytic_line_model._get_analytic_plan_geo_route() column_name = analytic_line_model._get_route_account_column_name() analytic_line_model.create({ 'name': 'Phân bổ chi phí tuyến', 'company_id': company.id, 'date': fields.Date.today(), 'account_id': route.analytic_account_id.id, column_name: route.analytic_account_id.id, 'amount': -100.0, 'move_line_id': move_line.id, })
Mở rộng nút thông minh
Model route.route cung cấp:
- account_move_ids: danh sách các hóa đơn mua/bán liên quan đến tuyến
- bill_count / invoice_count: số lượng hóa đơn mua/bán
- action_view_vendor_bills()
- action_view_customer_invoices()
- action_generate_analytic_account()
Lập trình viên có thể:
- Kế thừa để mở rộng domain
- Đặt chúng trong menu module của mình
- Tạo báo cáo dùng lại các dữ liệu này
Bảo vệ sơ đồ và tài khoản quản trị
Module đảm bảo:
- Sơ đồ Tuyến đường Địa lý không thể bị xóa khi còn route sử dụng
- Tài khoản quản trị:
- Không thể xóa nếu đang dùng bởi tuyến
- Có liên kết ngược route_ids
- Có trường tắt route_id để tiện điều hướng từ kế toán
Những bảo vệ này giúp giữ dữ liệu kế toán tuyến nhất quán.
Khuyến nghị
Cho Người dùng
- Chỉ tạo Tài khoản quản trị cho các tuyến sử dụng thực tế.
- Luôn dùng phân bổ kế toán quản trị để ghi chi phí/doanh thu theo tuyến.
- Mở hóa đơn liên quan từ nút thông minh trên tuyến để đảm bảo lọc đúng.
Cho Lập trình viên
- Luôn dùng _generate_analytic_account_if_not_exists(), không tự tạo tài khoản.
- Không thêm trường route_id vào account.move — hãy dựa vào analytic items.
- Luôn sử dụng helper từ account.analytic.line để giữ tính nhất quán.
- Không dùng sudo() để vượt qua cơ chế bảo vệ tài khoản trừ khi thực sự cần.
Tóm tắt
to_geo_routes_account (Kế toán doanh thu & chi phí theo tuyến đường) cung cấp:
- Sơ đồ và cấu trúc kế toán quản trị chuyên cho tuyến đường
- Liên kết chặt chẽ giữa Tuyến đường → Tài khoản quản trị → Phát sinh kế toán quản trị
- Nút thông minh cho Hóa đơn mua / Hóa đơn bán ngay trên tuyến
- API mở rộng cho module ngành dọc (Đội xe, Freight, Logistics)
Đây là lớp kế toán mở rộng của Nền tảng định tuyến đa nhà cung cấp Viindoo, giúp các giải pháp logistics trong hệ sinh thái Viindoo có thể phân tích chi phí–doanh thu theo tuyến một cách nhất quán và linh hoạt.
Phần mềm này và các tệp liên kết ("Phần mềm") được sử dụng (chạy, tuỳ biến, chạy sau khi được tuỳ biến) chỉ khi bạn mua được giấy phép có hiệu lực từ tác giả, điển hình như qua các Ứng dụng Odoo, hoặc trong trường hợp bạn nhận được thoả thuận bằng văn bản từ tác giả của Phần mềm (chi tiết tại tệp COPYRIGHT).
Bạn có thể phát triển các phân hệ Odoo có sử dụng Phần mềm như một Thư viện (thường là phụ thuộc vào, nhập vào và sử dụng nguồn của nó) nhưng không sao chéo bất kỳ mã nguồn hay tài liệu nào thuộc Phần mềm. Bạn có thể phân phối những phân hệ này theo giấy phép mà bạn lựa chọn, miễn sao nội dung giấy phép đó tương tích với điều khoản của Giấy phép Phần mềm Độc quyền Odoo (ví dụ: LGPL, MIT hay bất kỳ loại giấy phép phần mềm độc quyền nào tương tự vậy).
Nghiêm cấm phát hành, phân phối, cấp phép lại hoặc bán bản sao của Phần mềm hoặc bản sao Phần mềm đã được sửa đổi.
Thông báo bản quyền và chấp thuận nêu trên buộc phải được bao gồm trong tất cả các bản sao hoặc các phần quan trọng của Phần mềm.
PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG BẢO ĐẢM DƯỚI BẤT KỲ HÌNH THỨC NÀO, ĐƯỢC THỂ HIỆN RÕ RÀNG HOẶC NGỤ Ý, KHÔNG GIỚI HẠN ĐẢM BẢO VỀ CÁC BẢO ĐẢM NGỤ Ý VỀ KHẢ NĂNG THƯƠNG MẠI, PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM. TRONG MỌI TRƯỜNG HỢP SẼ KHÔNG CÓ TÁC GIẢ HOẶC CHỦ SỞ HỮU BẢN QUYỀN NÀO CHỊU TRÁCH NHIỆM VỀ BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC NÀO TRONG PHẠM VI HỢP ĐỒNG, CÁC THIỆT HẠI HOẶC CÁCH KHÁC, PHÁT SINH TỪ, NGOÀI HOẶC CÓ LIÊN KẾT VỚI PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC KINH DOANH KHÁC TẠI PHẦN MỀM.