Báo cáo tùy chỉnh¶
SotaERP đ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 ra 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 lãi lỗ với nhóm cụ thể và bố cục.
Quan trọng
Kích hoạt chế độ chế độ phát triển để truy cập giao diện tạo báo cáo kế toán.
Để tạo một báo cáo mới, hãy đi đến root report hoặc một variant.
. Từ đây, bạn có thể tạo mộtBá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 phục vụ như các mô hình 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
Một 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 cho quy định nội địa 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 điều này, mở báo cáo và sau đó, trên báo cáo đó, nhấp vào
. Làm mới trang; báo cáo hiện đã có sẵn dưới .Ghi chú
Các trường hợp cần tạo báo cáo gốc mới là hiếm, 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ể¶
Biến thể là các phiên bản cụ thể cho từng quốc gia của báo cáo gốc và do đó luôn liên quan đế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 một 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ó sẽ được hiển thị trong bộ chọn biến thể ở góc phải trên cùng của cửa sổ.
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 một báo cáo (hoặc 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 đều cần một Tên, và có thể có thêm một Mã tùy chọn (theo ý 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 hiện¶
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 như các biến phụ cần thiết cho 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 dòng báo cáo.
Khi tạo một biểu thức, bạn phải gán một label được sử dụng để tham chiếu đến biểu thức đó. Do đó, nó phải là duy nhất giữa các biểu thức của mỗi dòng. Cả một Computation Engine và một Formula cũng phải được chỉ định. Engine xác định cách mà công thức và công thức con của bạn được diễn giải. Bạn có thể kết hợp các biểu thức sử dụng các computation engine khác nhau trong cùng một dòng nếu cần thiết.
Ghi chú
Tùy thuộc vào động cơ, các công thức con cũng có thể được yêu cầu.
Động cơ 'Miền SotaERP'¶
Với công cụ này, một công thức được hiểu là một SotaERP domain dẫn đến các đối tượng account.move.line
.
Công thức con 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 giá trị của biểu thức:
tổng
Kết quả là tổng của tất cả các số dư của các dòng chuyển động được khớp.
- tính tổng nếu là số dương
Kết quả là tổng của tất cả các số dư của các dòng chuyển động phù hợp nếu số này là dương. Nếu không, nó là
0
.sum_if_neg
Kế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ố này là âm. Nếu không, nó là
0
.- đếm_hàng
Kết quả là số dòng con của biểu thức này. Nếu dòng cha có giá trị nhóm theo, điều này sẽ tương ứng với số khóa nhóm phân biệt trong các dòng di chuyển khớp. Nếu không, nó sẽ là số dòng di chuyể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ả.
Động cơ 'Tổng hợp Công thức Khác'¶
Sử dụng engine 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ố lượng thu được từ các biểu thức khác. Công thức ở đây được tạo thành từ 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ử cơ bản (cộng +
, trừ -
, chia /
, và nhân *
). Để tham chiếu đến một biểu thức, nhập mã code của dòng cha tiếp theo theo sau là dấu chấm .
và label của biểu thức (ví dụ code.label).
Các công thức con có thể là một trong các loại sau đây:
- nếu trên(CUR(số tiền))
Giá trị của biểu thức toán học sẽ được trả về chỉ khi nó lớn hơn giới hạn được cung cấp. Nếu không, kết quả sẽ là
0
.nếu_dưới(CUR(số_tiền))
Giá trị của biểu thức toán học sẽ được trả về chỉ khi nó thấp hơn giới hạn được cung cấp. Nếu không, kết quả sẽ là
0
.if_between(CUR1(số1), CUR2(số2))
Giá trị của biểu thức toán học sẽ được trả về chỉ khi nó nằm chặt trong các giới hạn được cung cấp. Nếu không, nó sẽ được đưa trở lại gần 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 toán học sẽ được trả về chỉ khi 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 đã cung cấp. 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ẽ được trả về chỉ khi 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à thấp hơn giới hạn đã cung cấp. 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 khoản mục được biểu thị bằng đơn vị tiền tệ đó.
Bạn cũng có thể sử dụng công thức con cross_report
để khớp một biểu thức được tìm thấy trong báo cáo khác.
'Động cơ 'Tiền tố của Mã tài khoản'¶
Độ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 các tiền tố của mã tài khoản này như các biến trong biểu thức toán học.
Example
21
Example
21
và 10
, và trừ số dư của các dòng trên các tài khoản có tiền tố 5
.Cũng có thể bỏ qua một số tiền tố con trong lựa chọn.
Example
21 + 10\(101, 102) - 5\(57)
101
, 102
, và 57
.Bạn có thể áp dụng 'sub-filtering' trên tín dụng và nợ bằng cách sử dụng các 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à nếu tổng số dư của các dòng chuyển tiền được thực hiện trên tài khoản này là 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 được khớp, vì số dư của nó là credit.
Các loại tiền tố có thể được kết hợp với các 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à có (C
), nhưng bỏ qua 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 một tiền tố và không sử dụng nó như một hậu tố, hãy sử dụng một loại trừ trống ()
.
Example
21D\()
21D
, bất kể dấu của số dư của chúng.Ngoài việc sử dụng tiền tố mã để bao gồm 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 một bảng tài khoản chuẩn hóa, nơi cùng một tiền tố có thể được sử dụng cho các mục đích khác nhau trong các công ty.
Example
tag(25)
Nếu thẻ bạn tham chiếu được xác định trong một tệp dữ liệu, một xmlid có thể được sử dụng thay vì id.
Example
thẻ(my_module.thẻ_của_tôi)
Bạn cũng có thể sử dụng biểu thức toán học với các 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) + 10
10
.Các hậu tố C
và D
có thể được sử dụng tương tự với các thẻ.
Example
tag(my_module.my_tag)C
Tiền tố loại trừ cũng hoạt động với các thẻ.
Example
tag(my_module.my_tag)\(10)
10
.Bộ máy 'Giá trị Bên Ngoài'¶
Bộ máy 'giá trị bên ngoài' được sử dụng để tham chiếu đến giá trị thủ công và giá trị chuyển tiếp. Những giá trị này không được lưu trữ bằng cách sử dụng account.move.line
, mà được lưu trữ 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ó ảnh hưởng, vì vậy rất ít cần phải làm về việc lựa chọn của chúng ở đây.
Công thức có thể là một trong các loại 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 khoảng thời gian.
- gần đây nhất
Nếu kết quả phải là giá trị của giá trị ngoại bên mới nhất trong khoảng thời gian.
Ngoài ra, các 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ẽ chỉ định làm tròn số lượng đến X chữ số thập phân.có thể chỉnh sửa
Chỉ ra rằng 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
có thể chỉnh sửa; làm tròn=2
Bộ máy 'Custom Python Function'¶
Động cơ này là một phương tiện cho các nhà phát triển để giới thiệu tính toán tùy chỉnh của 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 một hàm python để gọi, và phụ công thức là một khóa để lấy trong từ điển được trả về bởi hàm này. Sử dụng nó chỉ khi 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ó một số lượng không xác định cột để hiển thị. Mỗi cột lấy giá trị của mình 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 của các biểu thức mà 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 theo khoảng thời gian được tìm thấy dưới tab Options của một báo cáo kế toán, tất cả các cột được lặp lại trong và cho mỗi khoảng thời gian.