To add order’s custom fee amount field in PDF which is downloaded either from admin or from frontend, to can use following process:
Firstly you have to create pdf.xml at path :
app\code\Webkul\Test\etc
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Sales:etc/pdf_file.xsd">
<totals>
<total name="custom_fee">
<title translate="true">Custom Fee</title>
<source_field>custom_fee</source_field>
<model>Webkul\Test\Model\Sales\Pdf\Customfee</model>
<font_size>7</font_size>
<display_zero>false</display_zero>
<sort_order>600</sort_order>
</total>
</totals>
</config>
Here, source_field: is the field name which you created as a field in order.
model: is the file in model in which you code to add field in totals.
font_size: default font_size is 7 you can change it.
display_zero: If you don’t want to display field if amount is 0 then set it to false, otherwise set it to true.
sort_order: sort order for the position of your field.
Now create file at path: app\code\Webkul\Test\Model\Sales\Pdf\Customfee.php
<?php
namespace Webkul\Test\Model\Sales\Pdf;
class Customfee extends \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal
{
public function getTotalsForDisplay()
{
$amount = $this->getOrder()->formatPriceTxt($this->getAmount());
if ($this->getAmountPrefix()) {
$amount = $this->getAmountPrefix() . $amount;
}
$title = __($this->getTitle());
if ($this->getTitleSourceField()) {
$label = $title . ' (' . $this->getTitleDescription() . '):';
} else {
$label = $title . ':';
}
$fontSize = $this->getFontSize() ? $this->getFontSize() : 7;
$total = ['amount' => $amount, 'label' => $label, 'font_size' => $fontSize];
return [$total];
}
}
after this your field will be added in downloaded pdf of an order.
Here are some related links for managing custom fee in order:
Add Custom Price Fee In Order Total Magento2
Display Custom Price Fee On Checkout Cart Summary Total Magento2
Display Custom Price Fee On Sales Order View Page
I hope this blog will help you with Add Custom fee in Downloaded PDF of an order in Magento 2. You may also check our wide range of best Magento 2 Extensions.
Please reach out to our team via a support ticket if you have any queries.
Try this and if you have any queries then just comment below 🙂
Only problem is it does not work for me.