Báo cáo tùy chọn¶
Odoo đi kèm với một khung báo cáo mạnh mẽ và dễ sử dụng. Động cơ 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 cụ thể và Bố cục.
Quan trọng
Kích hoạt: ref: Chế độ nhà phát triển <chế độ phát triển>
để truy cập giao diện tạo báo cáo kế toán.
To create a new report, go to root report or a variant.
. From here, you can either create a
Báo cáo gốc¶
Báo cáo gốc có thể được coi là báo cáo kế toán chung, chung. Chúng phục vụ như các mô hình mà 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à một báo cáo gốc.
Example
Một báo cáo thuế cho Bỉ và Hoa Kỳ sẽ sử dụng cùng một phiên bản chung như một cơ sở và điều chỉnh nó cho các quy định trong nước của họ.
Khi tạo một báo cáo gốc mới, bạn cần tạo một mục menu cho nó. Để làm như vậy, hãy mở báo cáo và sau đó, trên cùng một báo cáo, nhấp vào
. 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 một báo cáo gốc mới là 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à các phiên bản cụ thể của quốc gia của các báo cáo gốc và do đó, luôn luôn đề cập đến một báo cáo gốc. Để tạo một biến thể, hãy chọn báo cáo chung (gốc) trong trường Báo cáo root 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 cùng 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 gốc Báo cáo thuế chung.

Chi tiết¶
Sau khi tạo một báo cáo (có thể là root hoặc biến thể), bạn cần điền vào nó bằng các dòng. Bạn có thể tạo một cái mới bằng cách nhấp vào :guilabel:'Thêm một dòng` hoặc sửa đổi một dòng hiện có bằng cách nhấp vào nó. Tất cả các dòng Yêu cầu A name và có thể có thêm tùy chọn code (của sự lựa chọn của bạn) nếu bạn muốn sử dụng giá trị của chúng trong các công thức.

Biểu thức¶
Mỗi dòng có thể chứa một hoặc nhiều biểu thức. Biểu thức có thể được xem là sub-Variabled cần thiết bởi một dòng báo cáo. Để tạo một biểu thức, nhấp vào Thêm một dòng trong một báo cáo dòng.
Khi tạo một biểu thức, bạn phải gán A Nhãn được sử dụng để chỉ biểu thức đó. Do đó, nó phải là duy nhất trong số các biểu thức của mỗi dòng. Cả A Động cơ tính toán và A :guilabel:`Công thức 'cũng phải được chỉ định. Động cơ xác định cách thức công thức của bạn ** và Subformula (s) được giải thích. Có thể trộn các biểu thức bằng cách 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ơ, Subformulas cũng có thể được yêu cầu.
Động cơ 'Odoo Domain'¶
With this engine, a formula is interpreted as an Odoo domain
targeting account.move.line
objects.
Subformula 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:
Sum
Kết quả là tổng của tất cả các số dư của các đường di chuyển phù hợp.
sum_if_pos
Kết quả là tổng của tất cả các số dư của các đường di chuyển phù hợp nếu số tiền này là dương. Nếu không, đó là
0
.sum_if_neg
Kết quả là tổng của tất cả các số dư của các đường di chuyển phù hợp nếu số tiền này là âm. Nếu không, đó là
0
.Count_Rows
Kết quả là số lượng dòng phụ của biểu thức này. Nếu dòng mẹ có giá trị theo nhóm, điều này sẽ tương ứng với số lượng các khóa nhóm riêng biệt trong các dòng di chuyển phù hợp. Nếu không, nó sẽ là số lượng các đường di chuyển phù hợp.
Bạn cũng có thể đặt một dấu -
ở đầu dạng con để đảo ngược Dấu hiệu của kết quả.

'Tổng hợp các công thức khác của động cơ¶
Use this engine when you need to perform arithmetic operations on the amounts obtained for other
expressions. Formulas here are composed of references to expressions separated by one of the four
basic arithmetic operators (addition +
, subtraction -
, division /
, and multiplication *
). To
refer to an expression, type in its parent line's code followed by a period .
and the
expression's label (ex. code.label).
Subformulas có thể là một trong những điều sau đây:
if_above (cur (số lượng))
Giá trị của biểu thức số học sẽ chỉ được trả về nếu nó lớn hơn mức được cung cấp. Nếu không, kết quả sẽ là
0
.if_below (cur (số lượng))
Giá trị của biểu thức số học sẽ được trả về chỉ khi nó thấp hơn mức bị ràng buộc được cung cấp. Nếu không, kết quả sẽ là
0
.if_between (Cur1 (số lượng1), Cur2 (số lượng2))
Giá trị của biểu thức số học sẽ chỉ được trả về nếu nó hoàn toàn giữa các giới hạn được cung cấp. Nếu không, nó sẽ được đưa trở lại đến ràng buộc gần nhất.
if_other_expr_above (line_code.expression_label, cur (số lượng))
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 biểu thị bằng mã dòng được cung cấp và nhãn biểu thức lớn hơn mức được cung cấp. Nếu không, kết quả sẽ là
0
.if_other_expr_below (line_code.expression_label, cur (số lượng))
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 biểu thị bằng mã dòng được cung cấp và nhãn biểu thức thấp hơn ràng buộc được cung cấp. Nếu không, kết quả sẽ là
0
.
Cur
là mã tiền tệ trong các chữ in hoa và` Số tiền` là số tiền của giới hạn được thể hiện bằng loại tiền đó.
Bạn cũng có thể sử dụng hình thức con Cross_Report
để phù hợp với một biểu thức được tìm thấy trong một báo cáo khác.
'Tiền tố mã tài khoản' động cơ¶
Động cơ này được sử dụng để khớp số lượng được thực hiện trên các tài khoản bằng cách sử dụng các tiền tố của mã tài khoản này dưới dạng các biến trong biểu thức số học.
Example
21
Example
21 + 10 - 5
21
và` 10` và trừ sự cân bằng của các tài khoản trên tài khoản với tiền tố 5
.Cũng có thể bỏ qua một lựa chọn các phụ kiện phụ.
Example
21 + 10\(101, 102) - 5\(57)
101
,` 102` và 57
.You can apply 'sub-filtering' on credits and debits using the C
and D
suffixes. In this
case, an account will only be considered if its prefix matches, and if the total balance of the
move lines made on this account is credit/debit.
Example
Tài khoản 210001
có số dư -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. tín dụng.
Các loại trừ tiền tố có thể được trộn với các hậu tố C
và` D`.
Example
21D + 10\(101, 102)C - 5\(57)
21
nếu đó là ghi nợ (D
) và 10
nếu đó là tín dụng (C
), nhưng bỏ qua tiền tố ` 101`, 102
và trừ sự cân bằng của những người trên các tài khoản với tiền tố` 5`, bỏ qua tiền tố 57
.Để khớp với chữ cái C
hoặc` d` trong tiền tố và không sử dụng nó làm hậu tố, hãy sử dụng loại trừ trống ()
.
Example
21D\()
21d
, bất kể dấu hiệ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 với thẻ tài khoản. Điều này đặc biệt hữu ích, ví dụ, nếu quốc gia của bạn thiếu một biểu đồ tài khoản được tiêu chuẩn hóa, trong đó 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.
Nếu thẻ bạn tham chiếu được xác định trong tệp dữ liệu, XMLID có thể được sử dụng thay vì ID.
Example
Bạn cũng có thể sử dụng các biểu thức số học với các thẻ, có thể kết hợp chúng với các lựa chọn tiền tố.
Example
Tag (my_module.my_tag) + Tag (42) + 10
10
C
và` d` hậu tố có thể được sử dụng theo cùng một cách với các thẻ.
Example
Tag (my_module.my_tag)C
Loại trừ tiền tố cũng hoạt động với các thẻ.
Example
tag(my_module.my_tag)\(10)
10
.Động cơ 'Giá trị bên ngoài'¶
Động cơ 'giá trị bên ngoài' được sử dụng để tham khảo Hướng dẫn sử dụng và Giá trị chuyển giao. Các giá trị đó không được lưu trữ bằng cách sử dụng Account.move.line
, nhưng với` Account.report.external.value`. Mỗi đối tượng này trực tiếp chỉ ra biểu thức mà nó tác động, vì vậy rất ít cần phải thực hiện về lựa chọn của chúng ở đây.
Công thức có thể là một trong những điều sau đây:
Sum
Nếu kết quả phải là tổng của tất cả các giá trị bên ngoài trong giai đoạn.
Hầu hết_recent
Nếu kết quả phải là giá trị của giá trị bên ngoài mới nhất trong giai đoạn.
Ngoài ra, Subformulas có thể được sử dụng theo hai cách:
Làm tròn = x
Thay thế
x
bằng một số hướng dẫn làm tròn số lượng đến số thập phân x.edable
Cho 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 được chọn trong báo cáo.
Cả hai hình thức con có thể được trộn bằng cách tách chúng với một ;
.
Example
có thể chỉnh sửa; làm tròn = 2
'Chức năng Python tùy chỉnh' động cơ¶
Công cụ này là một phương tiện để các nhà phát triển giới thiệu tính toán tùy chỉnh các biểu thức trên cơ sở từng trường hợp. Công thức là tên của hàm python để gọi và Subformula là khóa để tìm nạp trong từ điển được trả về bởi hàm này. Chỉ sử dụng nó nếu bạn đang tạo một mô -đun tùy chỉnh của riêng bạn.
Cột¶
Báo cáo có thể có số không xác định các cột để hiển thị. Mỗi cột nhận được các giá trị của nó từ các biểu thức được khai báo trên các dòng. Trường expression_label của cột cung cấp nhãn của 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 có 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 thời gian đượ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 và cho mỗi giai đoạn.