Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于Magento 1.4.1.0商店使用MySQL创建年度销售税报告_Mysql_Magento_Reporting_Magento 1.4 - Fatal编程技术网

基于Magento 1.4.1.0商店使用MySQL创建年度销售税报告

基于Magento 1.4.1.0商店使用MySQL创建年度销售税报告,mysql,magento,reporting,magento-1.4,Mysql,Magento,Reporting,Magento 1.4,我们的客户有一个Magento供电的商店,需要能够根据指定的日期范围创建税务报告,并详细说明通过积分退还的金额 基本上,他们想要一张桌子 为了节省时间,而且因为他们一年只需要两次这些报告,我真的不想在Magento中构建它。相反,我选择创建一个脚本,根据日期范围搜索MySQL表。我构建了一个我认为应该是从数据库中收集必要数字的查询。因为他们只在德克萨斯州征收销售税,所以我使用布尔表达式将已纳税和未纳税的部分组合在一起:fi.tax_amount>0。我在查询中引用了以下表格: mag_sales

我们的客户有一个Magento供电的商店,需要能够根据指定的日期范围创建税务报告,并详细说明通过积分退还的金额

基本上,他们想要一张桌子

为了节省时间,而且因为他们一年只需要两次这些报告,我真的不想在Magento中构建它。相反,我选择创建一个脚本,根据日期范围搜索MySQL表。我构建了一个我认为应该是从数据库中收集必要数字的查询。因为他们只在德克萨斯州征收销售税,所以我使用布尔表达式将已纳税和未纳税的部分组合在一起:fi.tax_amount>0。我在查询中引用了以下表格:

  • mag_sales_flat_order:用于指示订单日期范围(在MySQL查询中标识为fo)
  • mag_sales_flat_invoice:包含所有实际发票数据的表(在MySQL查询中标识为fi)
  • mag_sales_flat_creditmemo:包含所有信用备忘录数据的表(在MySQL查询中标识为fc)
  • 大多数字段看起来都没问题,但我不断得到的数字显示,运费税的抵免额超过了总额的运费税。也许我在查询中使用了错误的字段,或者做了一些不正确的事情。以下是我正在使用的查询:

    SELECT 
        fi.tax_amount > 0 as `taxed`, 
        sum(fi.grand_total) as `sales_total`,
        sum(fi.tax_amount) as `sales_tax`, 
        sum(fi.shipping_tax_amount) as `shipping_tax`, 
        sum(fc.grand_total) as `credit_total`, 
        sum(fc.tax_amount) as `credit_sales_tax`,
        sum(fc.shipping_tax_amount) as `credit_shipping_tax`    
    FROM 
        `mag_sales_flat_invoice` fi 
    LEFT JOIN 
        `mag_sales_flat_order` fo ON fo.entity_id = fi.order_id     
    LEFT JOIN 
        `mag_sales_flat_creditmemo` fc ON fc.order_id = fi.order_id 
    WHERE     
        fo.created_at <= '2010-12-31 00:00:00' AND 
        fo.created_at >= '2010-07-01 00:00:00'     
    GROUP BY
        fi.tax_amount > 0
    
    选择
    fi.税款金额>0作为“已征税”,
    总额(fi.总计)为“销售总额”,
    作为“销售税”的总额(fi.税额),
    金额(fi.运费税金额)为“运费税”,
    总额(本币总额)为“贷方总额”,
    总额(本币税金额)为“赊销税”,
    总额(fc.装运税金额)为“抵免装运税”
    从…起
    `mag_销售_平面_发票'fi
    左连接
    `mag_sales_flat_order`fo ON fo.entity_id=fi.order_id
    左连接
    `mag_sales_flat_creditmemo`fc ON fc.order_id=fi.order_id
    哪里
    fo.created_at='2010-07-01 00:00:00'
    分组
    fi.税款金额>0
    
    有人知道我做错了什么吗?如果你需要更多的信息,请告诉我


    谢谢

    解决了我的问题。我遇到的问题不是从Magento返回的实际数字。我在计算中改变了两个数字的顺序,结果弄糊涂了。对于那些对我的解决方案感兴趣的人,我在这里发布了它:

    解决了我的问题。我遇到的问题不是从Magento返回的实际数字。我在计算中改变了两个数字的顺序,结果弄糊涂了。对于那些对我的解决方案感兴趣的人,我将其发布在这里:

    尝试为我们可视化报告,以便我们可以建议一种适当的方法来处理它。我在引用此内容时就这样做了:,但也就是说,我解决了我的问题。这个查询有一些问题,但主要的问题是,在我得到数字后,我混淆了如何计算的顺序。不过,谢谢你的帮助。试着为我们设想一下报告,这样我们就可以建议一个正确的方法来处理它。当我引用这篇文章时,我确实这样做了,但也就是说,我解决了我的问题。这个查询有一些问题,但主要的问题是,在我得到数字后,我混淆了如何计算的顺序。谢谢你的帮助。嘿,大卫,你觉得你能把这个解决方案再放一次吗?链接已断开。如果您使用的是1.6+,可能需要进行任何更改吗?嘿,David,您认为您可以再次使用此解决方案吗?链接已断开。如果您使用的是1.6+,是否需要进行任何更改?