如何用Power BI从Business Central提取已过账销售发票的含税收入及增值税数据
解决Power BI从Business Central提取销售发票含税收入及增值税的方案
Hey Kevin,我之前在做BC+Power BI的销售数据可视化时刚好碰到过一模一样的需求,给你几个直接落地的简便方案:
1. 获取行级(发票编号+物料编号)的含税收入
你有两种快速实现的方式:
- 方式一:直接用BC自带字段
在Posted Sales Invoice Line(已过账销售发票行表,表ID 113)里,大部分BC版本都有*Line Amount Including VAT*字段,这个就是该行(按发票编号+物料编号维度)的含税收入,直接把这个字段拖到Power BI里用就行。 - 方式二:手动计算(如果字段不存在)
如果你的BC版本没有上述字段,就用行的净收入加该行增值税:
在Power BI里给Posted Sales Invoice Line表新建一个计算列:
注:如果行表没有行级含税收入 = 'Posted Sales Invoice Line'[Line Amount] + 'Posted Sales Invoice Line'[VAT Amount]*VAT Amount*字段,就关联Sales Tax Line表(表ID 379),通过*Document No.*(发票编号)和*Line No.*(行号)建立关系,然后求和税行的*Tax Amount*作为该行增值税,再计算含税收入。
2. 获取表头级(发票编号)的含税收入
这个更简单:
- 直接用
Posted Sales Invoice Header(已过账销售发票表头表,表ID 112)里的*Total Amount Including VAT*字段,这个字段就是整张大票的含税总收入,完美对应发票编号维度。 - 如果你想从行级汇总验证,也可以在Power BI里创建一个度量值:
表头级含税收入 = SUMX(VALUES('Posted Sales Invoice Line'[Document No.]), CALCULATE(SUM('Posted Sales Invoice Line'[Line Amount Including VAT])))
3. 获取行级(发票编号+物料编号)的增值税
同样两种方式:
- 方式一:直接取行表字段
Posted Sales Invoice Line表中的*VAT Amount*字段就是该行的增值税总额,直接提取即可。 - 方式二:关联税表精准获取
如果你的业务存在一行多税的情况(比如同一行物料适用多种税率),就关联Sales Tax Line表,通过*Document No.*和*Line No.*匹配,然后在Power BI里新建计算列:行级增值税 = CALCULATE(SUM('Sales Tax Line'[Tax Amount]), FILTER('Sales Tax Line', 'Sales Tax Line'[Document No.] = 'Posted Sales Invoice Line'[Document No.] && 'Sales Tax Line'[Line No.] = 'Posted Sales Invoice Line'[Line No.]))
这些方案都是基于BC标准表结构来的,如果你用的是自定义化的BC环境,可能需要调整字段名,但核心逻辑是一致的。如果还有细节问题(比如特定版本的字段差异),随时说就行!
内容的提问来源于stack exchange,提问作者Kevin Conseil




