从发票中删除税款pdf

时间:2013-07-23 06:17:24

标签: magento

我一直试图从发票pdf中删除这一行(Tax :)。它不知道它会如此艰难,花费我5个小时而且我仍然被卡住了。

销售发票中的打印按钮..在管理员中 enter image description here

请帮忙!

我的最后一次尝试是

置于if($totalInfo['source_field'] == 'tax_amount') {continue;} foreach下面()

在Mage_Sales_Model_Order_Pdf_Abstract中的_getTotalsList($ Source)中(稍后我将覆盖)

    protected function _getTotalsList($source)
{
    $totals = Mage::getConfig()->getNode('global/pdf/totals')->asArray();
    usort($totals, array($this, '_sortTotalsList'));
    $totalModels = array();
    foreach ($totals as $index => $totalInfo) {

if($totalInfo['source_field'] == 'tax_amount') {continue;}

        if (!empty($totalInfo['model'])) {
            $totalModel = Mage::getModel($totalInfo['model']);
            if ($totalModel instanceof Mage_Sales_Model_Order_Pdf_Total_Default) {
                $totalInfo['model'] = $totalModel;
            } else {
                Mage::throwException(
                    Mage::helper('sales')->__('PDF total model should extend Mage_Sales_Model_Order_Pdf_Total_Default')
                );
            }
        } else {
            $totalModel = Mage::getModel($this->_defaultTotalModel);
        }
        $totalModel->setData($totalInfo);
        $totalModels[] = $totalModel;
    }

    return $totalModels;
}

但它不起作用。

5 个答案:

答案 0 :(得分:0)

从magento PDF发票中删除Tax列 -

您需要编辑的两个文件是:

  • 删除标题: /app/code/local/Mage/Sales/Model/Order/Pdf/Invoice.php
  • 从每个订单项中删除税金 /app/code/local/Mage/Sales/Model/Order/Pdf/Items/Invoice/Default.php

希望这会对你有所帮助!!

另外,

请参阅此links

答案 1 :(得分:0)

你不能删除这一行,因为仍然总计是1.10,只是隐藏。如果您不想在产品中征税,只需在magento配置中禁用它。

转到:

Sales > Tax > Manage Tax Rules

并将所有客户群的税金设为0。

答案 2 :(得分:0)

负责以pdf格式显示税务摘要的两个magento核心类是

Mage_Tax_Model_Sales_Pdf_Tax 
Mage_Sales_Model_Order_Pdf_Total_Default

您可以根据需要隐藏这些类文件以显示税务信息

答案 3 :(得分:0)

我自己曾经有过几次这个问题,并且发现了几种黑客的方法,但今天我觉得我终于找到了#34;正确的#34;溶液

如果查看layout / sales.xml,您将找到包含名称为order_totals的块的多个节点,并在其中包含名称为{{1}的块}。这就是PDF中出现的那一行的责任。

我会建议"正确"然后,删除它的方法是将它添加到layout / local.xml文件中:

tax

(如果您没有layout / local.xml文件,只需创建一个。)

这会将其从发票打印输出中删除,这是问题中提到的内容。要从其他位置删除它,请确保您拥有正确的节点名称 - 例如,要从客户可以从其订单历史记录中访问的订单打印输出中删除它,请使用此命令:

<sales_order_printinvoice>
    <reference name="order_totals">
        <remove name="tax"/>
    </reference>
</sales_order_printinvoice>

...依此类推电子邮件等。只需查看每次出现<sales_order_print> <reference name="order_totals"> <remove name="tax"/> </reference> </sales_order_print> 的layout / sales.xml,即可查看所有受影响的节点。

答案 4 :(得分:0)

我希望您可以尝试使用管理员
Orders, Invoices, Credit Memos Display Settings 从中选择

Display Full Tax Summary标签并将{
1 No设为EventBus.getDefault().register(this); 。也有不同的设置。这将有所帮助。

enter image description here