Báo cáo tùy chỉnh:¶
Odoo đi kèm với một framework báo cáo mạnh mẽ và dễ sử dụng. Engine cho phép bạn tạo các báo cáo mới, chẳng hạn như báo cáo thuế, hoặc bảng cân đối kế toán và báo cáo thu nhập với các nhóm và bố cục cụ thể.
Quan trọng
Kích hoạt chế độ developer để truy cập giao diện tạo báo cáo kế toán.
Để tạo báo cáo mới, hãy mở ứng dụng Kế toán và điều hướng đến . Từ đây, bạn có thể tạo báo cáo gốc hoặc biến thể.
Báo cáo gốc¶
Báo cáo gốc có thể được coi là các báo cáo kế toán chung, trung lập. Chúng đóng vai trò là mẫu mà trên đó các phiên bản kế toán địa phương được xây dựng. Nếu một báo cáo không có báo cáo gốc, nó được coi là báo cáo gốc.
Example
Báo cáo thuế cho Bỉ và Mỹ đều sử dụng cùng một phiên bản chung làm cơ sở và điều chỉnh nó cho các quy định trong nước của họ.
Khi tạo báo cáo gốc mới, bạn cần tạo một mục menu cho nó. Để làm điều này, hãy mở báo cáo và trên chính báo cáo đó, nhấp vào biểu tượng (Thao tác), sau đó chọn Tạo Mục Menu. Làm mới trang; báo cáo hiện có sẵn trong .
Ghi chú
Các trường hợp yêu cầu tạo báo cáo gốc mới rất hiếm, chẳng hạn như khi cơ quan thuế của một quốc gia yêu cầu một loại báo cáo mới và cụ thể.
Biến thể¶
Các biến thể là phiên bản cụ thể theo quốc gia của báo cáo gốc và do đó luôn tham chiếu đến một báo cáo gốc. Để tạo một biến thể, hãy chọn một báo cáo chung (gốc) trong trường Báo cáo gốc khi tạo báo cáo mới.
Khi một báo cáo gốc được mở từ một trong các menu chính của ứng dụng kế toán, tất cả các biến thể của nó được hiển thị trong bộ chọn biến thể ở góc trên bên phải của chế độ xem.
Example
Trong hình ảnh sau, Báo cáo VAT (BE) là biến thể của báo cáo gốc Báo cáo thuế chung.
Dòng báo cáo¶
Sau khi đã tạo báo cáo (gốc hoặc biến thể), bạn cần điền vào đó các dòng báo cáo. Bạn có thể tạo dòng mới bằng cách nhấp vào Thêm dòng, hoặc sửa đổi dòng báo cáo hiện có bằng cách nhấp vào nó. Tất cả các dòng báo cáo đều yêu cầu Tên và có thể có Mã bổ sung tùy chọn (do bạn chọn) nếu bạn muốn sử dụng giá trị của chúng trong công thức.
Biểu thức¶
Mỗi dòng báo cáo có thể chứa một hoặc nhiều biểu thức. Biểu thức có thể được xem như biến con cần thiết cho dòng báo cáo. Để tạo biểu thức, hãy nhấp vào Thêm dòng bên trong dòng báo cáo.
Khi tạo biểu thức, bạn phải gán Nhãn dùng để tham chiếu đến biểu thức đó. Do đó, nó phải duy nhất trong số các biểu thức của mỗi dòng. Cả Công cụ tính toán và Công thức cũng phải được chỉ định. Công cụ xác định cách công thức và công thức phụ của bạn được diễn giải. Có thể kết hợp các biểu thức sử dụng các công cụ tính toán khác nhau trong cùng một dòng nếu bạn cần.
Ghi chú
Tùy thuộc vào động cơ, công thức phụ cũng có thể được yêu cầu.
Công cụ 'Odoo Domain'¶
Với công cụ này, công thức được diễn giải như một Odoo domain nhắm đến các đối tượng account.move.line.
Công thức phụ cho phép bạn xác định cách các dòng di chuyển khớp với miền được sử dụng để tính toán giá trị của biểu thức:
sumKết quả là tổng của tất cả các số dư của các dòng di chuyển phù hợp.
sum_if_posKết quả là tổng của tất cả các số dư của các dòng di chuyển phù hợp nếu số tiền này là dương. Nếu không, nó là
0.sum_if_negKết quả là tổng của tất cả các số dư của các dòng di chuyển phù hợp nếu số tiền này là âm. Nếu không, nó là
0.count_rowsKết quả là số lượng dòng con của biểu thức này. Nếu dòng báo cáo có giá trị nhóm theo, điều này sẽ tương ứng với số lượng khóa nhóm riêng biệt trong các dòng bút toán khớp. Nếu không, nó sẽ là số lượng dòng bút toán khớp.
Bạn cũng có thể đặt dấu - ở đầu công thức phụ để đảo ngược dấu của kết quả.
Công cụ 'Aggregate Other Formulas'¶
Sử dụng công cụ này khi bạn cần thực hiện các phép toán số học trên các số tiền thu được cho các biểu thức khác. Công thức ở đây bao gồm các tham chiếu đến các biểu thức được phân tách bằng một trong bốn toán tử số học cơ bản (cộng +, trừ -, chia / và nhân *). Để tham chiếu đến biểu thức, hãy nhập mã của dòng báo cáo theo sau bởi dấu chấm . và nhãn của biểu thức (ví dụ: code.label).
Các công thức phụ có thể là một trong các loại sau:
if_above(CUR(amount))Giá trị của biểu thức số học sẽ chỉ được trả về nếu nó lớn hơn giới hạn đã cung cấp. Nếu không, kết quả sẽ là
0.if_below(CUR(amount))Giá trị của biểu thức số học sẽ chỉ được trả về nếu nó nhỏ hơn giới hạn đã cung cấp. Nếu không, kết quả sẽ là
0.if_between(CUR1(amount1), CUR2(amount2))Giá trị của biểu thức số học sẽ chỉ được trả về nếu nó nằm chặt chẽ giữa các giới hạn đã cung cấp. Nếu không, nó sẽ được đưa về giới hạn gần nhất.
if_other_expr_above(LINE_CODE.EXPRESSION_LABEL, CUR(amount))Giá trị của biểu thức số học sẽ chỉ được trả về nếu giá trị của biểu thức được chỉ định bởi mã dòng và nhãn biểu thức đã cung cấp lớn hơn giới hạn đã cho. Nếu không, kết quả sẽ là
0.if_other_expr_below(LINE_CODE.EXPRESSION_LABEL, CUR(amount))Giá trị của biểu thức số học sẽ chỉ được trả về nếu giá trị của biểu thức được chỉ định bởi mã dòng và nhãn biểu thức đã cung cấp nhỏ hơn giới hạn đã cho. Nếu không, kết quả sẽ là
0.
CUR là mã tiền tệ viết hoa, và amount là số tiền của giới hạn được biểu thị bằng loại tiền tệ đó.
You can also use the cross_report subformula to match an expression found in another report.
Công cụ 'Prefix of Account Codes'¶
Công cụ này được sử dụng để khớp các số tiền được thực hiện trên các tài khoản bằng cách sử dụng tiền tố của mã tài khoản làm biến trong biểu thức số học.
Example
21Example
21 + 10 - 521 và 10, và trừ đi số dư của các tài khoản có tiền tố 5.Cũng có thể bỏ qua một lựa chọn các tiền tố phụ.
Example
21 + 10\(101, 102) - 5\(57)101, 102 và 57.Bạn có thể áp dụng 'lọc phụ' trên thẻ tín dụng và nợ bằng cách sử dụng hậu tố C và D. Trong trường hợp này, một tài khoản chỉ được xem xét nếu tiền tố của nó khớp với, và nếu tổng số dư của các dòng bút toán được thực hiện trên tài khoản này là thẻ tín dụng/nợ.
Example
Tài khoản 210001 có số dư là -42 và tài khoản 210002 có số dư là 25. Công thức 21D chỉ khớp với tài khoản 210002, và do đó trả về 25. 210001 không khớp vì số dư của nó là thẻ tín dụng.
Loại trừ tiền tố có thể kết hợp với hậu tố C và D.
Example
21D + 10\(101, 102)C - 5\(57)21 nếu nó là nợ (D) và 10 nếu nó là thẻ tín dụng (C), nhưng bỏ qua các tiền tố 101, 102, và trừ đi số dư của các tài khoản có tiền tố 5, bỏ qua tiền tố 57.Để khớp với chữ C hoặc D trong tiền tố và không sử dụng nó như hậu tố, hãy sử dụng loại trừ trống ().
Example
21D\()21D, bất kể dấu số dư của chúng.Ngoài việc sử dụng tiền tố mã để bao gồm các tài khoản, bạn cũng có thể khớp chúng bằng thẻ tài khoản. Điều này đặc biệt hữu ích, ví dụ như, nếu quốc gia của bạn thiếu một hệ thống kế toán chuẩn hóa, nơi mà cùng một tiền tố có thể được sử dụng cho các mục đích khác nhau giữa các công ty.
Example
tag(25)Nếu thẻ bạn tham chiếu được định nghĩa trong tệp dữ liệu, có thể sử dụng xmlid thay vì id.
Example
tag(my_module.my_tag)Bạn cũng có thể sử dụng biểu thức số học với thẻ, có thể kết hợp chúng với lựa chọn tiền tố.
Example
tag(my_module.my_tag) + tag(42) + 1010Hậu tố C và D có thể được sử dụng theo cách tương tự với thẻ.
Example
tag(my_module.my_tag)CLoại trừ tiền tố cũng hoạt động với thẻ.
Example
tag(my_module.my_tag)\(10)10.Công cụ 'External Value'¶
Công cứ 'external value' được sử dụng để tham chiếu đến giá trị thủ công và giá trị kết chuyển. Các giá trị đó không được lưu trữ bằng account.move.line, mà bằng account.report.external.value. Mỗi đối tượng này trực tiếp trỏ đến biểu thức mà nó tác động, do đó rất ít việc cần làm về việc lựa chọn chúng ở đây.
Công thức có thể là một trong những loại sau:
sumNếu kết quả phải là tổng của tất cả các giá trị bên ngoài trong kỳ.
most_recentNếu kết quả phải là giá trị của giá trị bên ngoài mới nhất trong kỳ.
Ngoài ra, công thức con có thể được sử dụng theo hai cách:
rounding=XThay thế
Xbằng một số hướng dẫn làm tròn số tiền đến X chữ số thập phân.có thể chỉnh sửaCho biết biểu thức này có thể được chỉnh sửa thủ công, kích hoạt hiển thị biểu tượng trong báo cáo, cho phép người dùng thực hiện hành động này.
Ghi chú
Các giá trị thủ công được tạo tại date_to hiện đang được chọn trong báo cáo.
Cả hai công thức con có thể được kết hợp bằng cách phân tách chúng bằng dấu ;.
Example
editable;rounding=2Công cụ 'Hàm Python tùy chỉnh'¶
Kỹ thuật này là một phương thức để các nhà phát triển đưa ra phép tính tùy chỉnh cho các biểu thức theo từng trường hợp. Công thức là tên của một hàm python cần gọi, và công thức phụ là khóa để lấy giá trị trong từ điển được trả về bởi hàm này. Hãy chỉ sử dụng nó khi bạn đang tạo một phân hệ tùy chỉnh của riêng mình.
Cột¶
Báo cáo có thể có số lượng cột không giới hạn để hiển thị. Mỗi cột nhận giá trị từ các biểu thức được khai báo trên dòng. Trường expression_label của cột cung cấp nhãn cho các biểu thức có giá trị được hiển thị. Nếu một dòng không có biểu thức trong trường đó, thì không có gì được hiển thị cho nó trong cột này. Nếu cần nhiều cột, bạn phải sử dụng các nhãn biểu thức khác nhau.
Khi sử dụng tính năng so sánh kỳ được tìm thấy trong tab Tùy chọn của báo cáo kế toán, tất cả các cột được lặp lại trong và cho mỗi kỳ.
Thiết lập báo cáo thuế tùy chỉnh¶
Cấu hình báo cáo¶
Mẹo
Tất cả các thuật ngữ kỹ thuật và chức năng của công cụ báo cáo của Odoo được giải thích trong các phần trước của trang này. Chúng tôi đặc biệt khuyến nghị đọc các phần này trước khi thiết lập báo cáo thuế tùy chỉnh.
Để tạo báo cáo thuế tùy chỉnh, mở ứng dụng Kế toán, điều hướng đến , sau đó nhấp Tạo mới:
Nhập tên cho báo cáo của bạn.
Chọn Báo cáo gốc.
Trong trường Khả dụng, chọn Quốc gia khớp, sau đó chọn Quốc gia phù hợp với công ty của bạn.
Tiếp theo, tạo dòng báo cáo bằng cách nhấp Thêm dòng. Sau khi tạo, nhấp vào dòng báo cáo đó để cấu hình:
Nhấp Thêm dòng lần nữa để tạo một Biểu thức và đặt tên cho nó.
Trong tab Định nghĩa, chọn Công cụ tính toán cho biểu thức đó tùy thuộc vào các kịch bản sau:
Trong kịch bản này, công ty của bạn sử dụng lưới thuế:
Chọn Thẻ thuế làm công cụ tính toán. Odoo sử dụng trường này để liên kết dòng báo cáo với các loại thuế của bạn.
Trong trường Công thức, nhập mã định danh lưới ngắn của bạn (ví dụ:
vat_sales_base). Odoo tự động tạo các biến thể+và-của thẻ này để bạn ánh xạ bên trong .Trong trường Công thức phụ, nhập
baseđể báo cáo số tiền chưa bao gồm thuế, hoặctaxđể báo cáo số tiền thuế thực tế thu/trả.
Lặp lại quy trình này khi cần thiết. Sau đó, Lưu & Đóng.
Hoặc bạn có thể:
Chọn Tổng hợp các công thức khác làm công cụ tính toán. Odoo sử dụng trường này để thực hiện phép toán trên các dòng đã có sẵn trong báo cáo thay vì quét các giao dịch thô.
Trong trường Công thức, sử dụng đại số cơ bản tham chiếu mã dòng của bạn (ví dụ:
LINE_10 - LINE_20).
Lặp lại quy trình này khi cần thiết. Sau đó, Lưu & Đóng.
Trong tình huống này, công ty của bạn không sử dụng lưới thuế. Thay vào đó, công ty theo dõi mọi thứ nghiêm ngặt thông qua các tài khoản Sổ cái chung:
Chọn Tiền tố của mã tài khoản làm công cụ tính toán: Odoo sử dụng điều này cho các dòng cần lấy tổng số tài chính. Thay vì tìm kiếm thẻ giao dịch, Odoo lấy số dư trực tiếp từ hệ thống tài khoản của bạn.
Trong trường Công thức, nhập các chữ số đầu tiên của các tài khoản bạn muốn theo dõi (ví dụ:
40sẽ lấy tổng kết hợp của tất cả các tài khoản doanh thu bắt đầu bằng400000,401000, v.v.).
Lặp lại quy trình này khi cần thiết. Sau đó, Lưu & Đóng.
Hoặc bạn có thể:
Chọn Tổng hợp các công thức khác làm công cụ tính toán. Odoo sử dụng điều này để tính tổng phụ, thuế ròng hoặc tổng cộng bằng cách cộng hoặc trừ các dòng báo cáo khác của bạn.
Trong trường Công thức, sử dụng đại số cơ bản tham chiếu mã dòng của bạn (ví dụ:
LINE_10 - LINE_20).
Lặp lại quy trình này khi cần thiết. Sau đó, Lưu & Đóng.
Trong tình huống này, công ty của bạn yêu cầu lọc nâng cao, ghi đè thủ công của người dùng hoặc logic thuật toán phức tạp mà thẻ tiêu chuẩn và tiền tố tài khoản không thể xử lý:
Chọn Miền Odoo làm công cụ tính toán: Odoo sử dụng điều này để bỏ qua hoàn toàn thẻ thuế và lọc các mục nhật ký thô (
account.move.line) bằng cú pháp tìm kiếm Odoo tiêu chuẩn.Trong trường Công thức, nhập miền hợp lệ bắt đầu bằng dấu ngoặc vuông để phân tách các giao dịch miễn thuế cho các danh mục đối tác cụ thể.
Hoặc bạn có thể:
Chọn Giá trị bên ngoài làm công cứ tính toán. Odoo sử dụng điều này để ghi lại các ghi đè thủ công hoặc giá trị chuyển tiếp lịch sử.
Trong trường Công thức, nhập
sum(để cộng tất cả các giá trị thủ công lại với nhau trong các báo cáo nhiều kỳ) hoặcmost_recent(để chỉ hiển thị giá trị mới nhất).Trong trường Công thức phụ, nhập
editableđể hiển thị biểu tượng chỉnh sửa trên báo cáo trực tiếp, cho phép người dùng sửa đổi giá trị thủ công. Ngoài ra, bạn có thể làm tròn số bằng cách nhậprounding=x.
Hoặc bạn có thể:
Chọn Hàm Python tùy chỉnh làm công cụ tính toán. Odoo sử dụng điều này như một công cụ thực thi để chạy các phép tính cụ thể thông qua mã hóa backend khi các quy tắc liên quan đến các khung lũy tiến, vòng lặp hoặc ngưỡng nhiều cấp.
Trong trường Công thức, nhập tên kỹ thuật chính xác của phương thức Python được định nghĩa trong mô-đun bản địa hóa tùy chỉnh của bạn.
Lặp lại quy trình này khi cần thiết. Sau đó, Lưu & Đóng.
Trong tab Tùy chọn của một Biểu thức, điền vào trường Chuyển sang bằng một công thức để luôn chuyển số dư hoặc chỉ chuyển chúng khi số tiền âm. Để trống trường này nếu bạn không muốn sử dụng tính năng này.
Example
if_below(EUR(0))Cấu hình thuế¶
Tiếp theo, đi đến và nhấp Mới để tạo và cấu hình thuế mới cho báo cáo thuế tùy chỉnh của bạn. Tạo các loại thuế Bán hàng và Mua hàng, và điền vào Lưới thuế cho tất cả các loại thuế bằng cách sử dụng các lưới thuế phù hợp mà bạn đã tạo trước đó. Cuối cùng, hãy đảm bảo chỉ định cả tài khoản thuế phải trả và tài khoản thuế phải thu cho mỗi loại thuế.
Example
Bút toán kết chuyển¶
Để kết chuyển thuế, cần chỉ định nhóm thuế cho mỗi loại thuế được sử dụng trong báo cáo thuế tùy chỉnh của bạn. Để thực hiện việc này, mở ứng dụng Kế toán, điều hướng đến , mở một loại thuế cần nhóm thuế, nhấp vào tab Tùy chọn nâng cao, và chọn một nhóm trong trường Nhóm thuế. Sau khi gán, nhấp vào biểu tượng (mũi tên phải) và thiết lập cả Tài khoản thuế phải trả và Tài khoản thuế phải thu.
Mẹo
Khi mọi thứ đã được thiết lập, hãy đảm bảo kiểm tra báo cáo của bạn bằng cách tạo hóa đơn, hóa đơn mua hàng và thẻ tín dụng sử dụng các loại thuế cụ thể cho báo cáo đó. Cuối cùng, kiểm tra chính bút toán kết chuyển.
Nếu bạn muốn ẩn một tài khoản cụ thể khỏi việc hiển thị trong bút toán kết chuyển thuế, đi đến , chọn loại thuế, và nhấp vào biểu tượng (cài đặt điều chỉnh). Từ đó, chọn hộp Bút toán kết chuyển thuế để điều chỉnh khả năng hiển thị của nó.
Xem thêm