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ánbáo cáo thu nhập với các nhómbố 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 Cấu hình ‣ Báo cáo Kế toá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 Kế toán ‣ Báo cáo.

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ó 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.

Tùy chọn dòng động 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ánCông thức cũng phải được chỉ định. Công cụ xác định cách công thứccô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:

sum

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.

sum_if_pos

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ố tiền 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ố tiền này là âm. Nếu không, nó là 0.

count_rows

Kế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ả.

Dòng biểu thức trong báo cáo dòng

Công cụ 'Tax Tags'

Công thức được tạo cho công cụ này bao gồm một tên dùng để khớp với thẻ thuế. Nếu các thẻ đó không tồn tại khi tạo biểu thức, chúng sẽ được tạo.

Khi đánh giá biểu thức, việc tính toán biểu thức có thể được biểu diễn gần đúng như sau: (số tiền của các dòng bút toán với thẻ +)` - (số tiền của các dòng bút toán với thẻ -)**.

Example

Nếu công thức là tag_name, công cụ sẽ khớp với các thẻ thuế +tag_name-tag_name, tạo chúng nếu cần thiết. Để giải thích rõ hơn: hai thẻ được khớp bởi công thức. Nếu công thức là A, nó sẽ yêu cầu (và tạo, nếu cần) các thẻ +A-A.

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 của dòng báo cáo theo sau bởi dấu chấm .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

21
Biểu thức số học cũng có thể là một tiền tố duy nhất, như ở đây.

Example

21 + 10 - 5
Công thức này cộng số dư của các dòng bút toán được thực hiện trên các tài khoản có mã bắt đầu bằng 2110, 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)
Công thức này hoạt động giống như ví dụ trước đó nhưng bỏ qua các tiền tố 101, 10257.

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ố CD. 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, 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ố CD.

Example

21D + 10\(101, 102)C - 5\(57)
Công thức này cộng số dư của các dòng bút toán được thực hiện trên các tài khoản có mã bắt đầu bằng 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\()
Công thức này khớp với các tài khoản có mã bắt đầu bằng 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)
Công thức này khớp với các tài khoản có thẻ liên quan chứa thẻ có id 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)
Công thức này khớp với các tài khoản có thẻ liên kết bao gồm thẻ được ký hiệu bởi 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) + 10
Số dư của các tài khoản được gắn thẻ my_module.my_tag sẽ được cộng với số dư của các tài khoản liên kết với thẻ có ID 42 và các tài khoản có tiền tố mã 10

Hậu tố CD có thể được sử dụng theo cách tương tự với thẻ.

Example

tag(my_module.my_tag)C
Công thức này khớp với các tài khoản có thẻ my_module.my_tag và số dư thẻ tín dụng.

Loại trừ tiền tố cũng hoạt động với thẻ.

Example

tag(my_module.my_tag)\(10)
Công thức này khớp với các tài khoản có thẻ my_module.my_tag và mã không bắt đầu bằng 10.

Công cụ 'External Value'

Công cứ 'external value' được sử dụng để tham chiếu đến giá trị thủ cônggiá 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:

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 kỳ.

most_recent

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:

rounding=X

Thay thế X bằng một số hướng dẫn làm tròn số tiền đến X chữ số thập phân.

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 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=2
là một công thức phụ chính xác kết hợp cả hai hành vi.

Cô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.

Các cột của báo cáo.

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 Cấu hình ‣ Báo cáo kế toá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ể +- của thẻ này để bạn ánh xạ bên trong Cấu hình ‣ Thuế.

  • 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ặc tax để 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 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ông thức này sẽ chỉ chuyển các số tiền dưới 0,00 EUR.

Cấu hình thuế

Tiếp theo, đi đến Cấu hình ‣ Thuế 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àngMua 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

Cấu hình lưới thuế.

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 Cấu hình ‣ Thuế, 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ả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 Cấu hình ‣ Thuế, 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

Tax closing