Báo cáo tùy chọn¶
SoOn đi kèm với khung báo cáo mạnh mẽ và dễ sử dụng. Công cụ này 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 developer mode để truy cập vào giao diện tạo báo cáo kế toán.
Để tạo một báo cáo mới, hãy truy cập root report hoặc variant.
. Từ đây, bạn có thể tạo
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, trung lập. Chúng đóng vai trò là mô hình để xây dựng các phiên bản kế toán địa phương. Nếu một báo cáo không có báo cáo gốc thì bản thân nó được coi là báo cáo gốc.
Example
Báo cáo thuế của Bỉ và Hoa Kỳ đều sẽ sử dụng cùng một phiên bản chung làm cơ sở và điều chỉnh nó cho phù hợp với 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ục menu cho báo cáo đó. Để làm như vậy, hãy mở báo cáo và sau đó, trên cùng một báo cáo đó, hãy 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 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 báo cáo gốc theo quốc gia cụ thể và do đó, luôn đề cập đến 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 Root khi tạo báo cáo mới.
Khi 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ó sẽ đượ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.

Dòng¶
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ạn có thể tạo một dòng mới bằng cách nhấp vào 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 Tên và có thể có thêm Code (tùy 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 có thể chứa một hoặc nhiều biểu thức. Các biểu thức có thể được xem là biến phụ cần thiết cho một dòng báo cáo. Để tạo một biểu thức, hãy 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 một label dùng để chỉ biểu thức đó. Vì vậy, nó phải duy nhất trong số các biểu thức của mỗi dòng. Cả Tính toán Engine và Công thức cũng phải được chỉ định. công cụ xác định cách diễn giải (các) công thức và (các) công thức con của bạn. Có thể kết hợp các biểu thức bằ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 con cũng có thể được yêu cầu.
Công cụ 'SoOn Domain'¶
Với công cụ này, một công thức được hiểu là một SoOn domain nhắm mục tiêu các đối tượng account.move.line
.
Công thức con cho phép bạn xác định cách sử dụng các đường di chuyển khớp với miền để tính giá trị của biểu thức:
tổng
Kết quả là tổng của tất 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ả số dư của các đường di chuyển phù hợp nếu số tiền này dương. Ngược lại, nó là
0
.sum_if_neg
Kết quả là tổng của tất cả số dư của các đường di chuyển phù hợp nếu số tiền này âm. Ngược lại, nó là
0
.count_rows
Kết quả là số dòng con của biểu thức này. Nếu dòng gốc có giá trị theo nhóm, giá trị này sẽ tương ứng với số lượng 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ố đường di chuyển phù hợp.
Bạn cũng có thể đặt dấu -
ở đầu công thức con để đả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 tính số học trên số lượng thu được cho các biểu thức khác. Cá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 +
, phép trừ -
, phép chia /
và phép nhân *
). Để tham chiếu đến một biểu thức, hãy nhập code của dòng cha, theo sau là dấu chấm .
và nhãn của biểu thức (ví dụ code.label).
Công thức con có thể là một trong những công thức 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 được cung cấp. Ngược lại 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ó thấp hơn giới hạn được cung cấp. Ngược lại 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 hoàn toàn trong giới hạn được cung cấp. Nếu không, nó sẽ được đưa trở lại 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 biểu thị bằng mã dòng và nhãn biểu thức được cung cấp lớn hơn giới hạn được cung cấp. Ngược lại 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 biểu thị bằng mã dòng và nhãn biểu thức được cung cấp thấp hơn giới hạn được cung cấp. Ngược lại kết quả sẽ là
0
.
CUR
là mã tiền tệ bằng chữ in hoa và số tiền
là số tiền giới hạn được thể hiện bằng loại tiền đó.
Bạn cũng có thể sử dụng công thức con cross_report
để khớp với biểu thức tìm thấy trong một báo cáo khác.
Công cụ 'Prefix of Account Codes'¶
Công cụ này được sử dụng để khớp 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ã của các 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
, đồng thời trừ đi số dư của các đường di chuyển trên các tài khoản có tiền tố 5
.Cũng có thể bỏ qua việc 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 tín dụng và ghi 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 sẽ 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 đường di chuyển được thực hiện trên tài khoản này là tín dụng/ghi 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à tín dụng.
Loại trừ tiền tố có thể được trộn lẫn với hậu tố C
và D
.
Example
21D + 10\(101, 102)C - 5\(57)
21
if nó là ghi nợ (D
) và 10
if nó là tín dụng (C
), nhưng bỏ qua tiền tố ` 101`, 102
và trừ số dư của các tài khoản có tiền tố 5
, bỏ qua tiền tố 57
.Để khớp 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 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ể kết hợ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 biểu đồ tài khoản được 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.
Example
tag(25)
Nếu thẻ bạn tham chiếu được xác định trong tệp dữ liệu thì có thể sử dụng xmlid thay cho id.
Example
tag(my_module.my_tag)
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
Hậ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)C
Loạ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ụ 'giá trị bên ngoài' được dùng để chỉ thủ công và giá trị chuyển nguồn. Những 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 trong số này trực tiếp trỏ đến biểu thức mà nó tác động, vì vậy rất ít cần phải thực hiện việc lựa chọn chúng ở đây.
Công thức có thể là một trong những công thức sau:
tổng
Nếu kết quả phải là tổng của tất cả các giá trị bên ngoài trong kỳ.
gần đây nhất
Nế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:
làm tròn=X
Thay thế
X
bằng một số sẽ hướng dẫn làm tròn số tiền thành số thập phân X.có thể chỉnh sửa
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 vào date_to
hiện được chọn trong báo cáo.
Cả hai công thức con có thể được trộn lẫn bằng cách tách chúng bằng dấu ;
.
Example
có thể chỉnh sửa;làm tròn=2
Công cụ 'Custom Python Function'¶
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ụ thể. Công thức là tên của hàm python để gọi và công thức con là khóa để tìm nạp trong dictionary được hàm này trả về. Chỉ sử dụng nó nếu bạn đang tạo một mô-đun tùy chỉnh của riêng mình.
Cột¶
Báo cáo có thể có số lượng không xác định cột để hiển thị. Mỗi cột nhận giá trị từ biểu thức được khai báo trên dòng. Trường express_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 dòng đó trong cột này. Nếu bắt buộc phải 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 kỳ trong tab Options của báo cáo kế toán, tất cả các cột được lặp lại trong và cho từng kỳ.