mock->invitation); $pdf_config = (new PdfConfiguration($pdf_service)); $pdf_config->entity = $this->mock; $pdf_config->entity_string = $this->request['entity_type']; $pdf_config->setTaxMap($this->mock->tax_map); $pdf_config->setTotalTaxMap($this->mock->total_tax_map); $pdf_config->client = $this->mock->client; $pdf_config->settings_object = $this->mock->client; $pdf_config->settings = $this->getMergedSettings(); $this->settings = $pdf_config->settings; $pdf_config->entity_design_id = $pdf_config->settings->{"{$pdf_config->entity_string}_design_id"}; $pdf_config->setPdfVariables(); $pdf_config->setCurrency(Currency::find($this->settings->currency_id)); $pdf_config->setCountry(Country::find($this->settings->country_id)); $pdf_config->design = Design::find($this->decodePrimaryKey($pdf_config->entity_design_id)); $pdf_config->currency_entity = $this->mock->client; $pdf_service->config = $pdf_config; $pdf_designer = (new PdfDesigner($pdf_service))->build(); $pdf_service->designer = $pdf_designer; $pdf_service->html_variables = $this->getStubVariables(); $pdf_builder = (new PdfBuilder($pdf_service))->build(); $pdf_service->builder = $pdf_builder; $html = $pdf_service->getHtml(); // nlog($html); return $pdf_service->resolvePdfEngine($html); } public function build(): self { $this->mock = $this->initEntity(); return $this; } public function initEntity(): mixed { match ($this->request['entity_type']) { 'invoice' => $entity = Invoice::factory()->make(), 'quote' => $entity = Quote::factory()->make(), 'credit' => $entity = Credit::factory()->make(), 'purchase_order' => $entity = PurchaseOrder::factory()->make(), default => $entity = Invoice::factory()->make() }; if ($this->request['entity_type'] == PurchaseOrder::class) { $entity->vendor = Vendor::factory()->make(); } else { $entity->client = Client::factory()->make(); } $entity->tax_map = $this->getTaxMap(); $entity->total_tax_map = $this->getTotalTaxMap(); $entity->invitation = InvoiceInvitation::factory()->make(); $entity->invitation->company = $this->company; return $entity; } public function getMergedSettings() :object { match ($this->request['settings_type']) { 'group' => $settings = ClientSettings::buildClientSettings($this->company->settings, $this->request['settings']), 'client' => $settings = ClientSettings::buildClientSettings($this->company->settings, $this->request['settings']), 'company' => $settings = (object)$this->request['settings'], default => $settings = $this->company->settings, }; return $settings; } private function getTaxMap() { return collect([['name' => 'GST', 'total' => 10]]); } private function getTotalTaxMap() { return [['name' => 'GST', 'total' => 10]]; } public function getStubVariables() { return ['values' => [ '$client.shipping_postal_code' => '46420', '$client.billing_postal_code' => '11243', '$company.city_state_postal' => '90210', '$company.postal_city_state' => 'CA', '$product.gross_line_total' => '100', '$client.postal_city_state' => '11243 Aufderharchester, North Carolina', '$client.postal_city' => '11243 Aufderharchester, North Carolina', '$client.shipping_address1' => '453', '$client.shipping_address2' => '66327 Waters Trail', '$client.city_state_postal' => 'Aufderharchester, North Carolina 11243', '$client.shipping_address' => '453
66327 Waters Trail
Aufderharchester, North Carolina 11243
Afghanistan
', '$client.billing_address2' => '63993 Aiyana View', '$client.billing_address1' => '8447', '$client.shipping_country' => 'USA', '$invoiceninja.whitelabel' => 'https://raw.githubusercontent.com/invoiceninja/invoiceninja/v5-develop/public/images/new_logo.png', '$client.billing_address' => '8447
63993 Aiyana View
Aufderharchester, North Carolina 11243
Afghanistan
', '$client.billing_country' => 'USA', '$task.gross_line_total' => '100', '$contact.portal_button' => 'View client portal', '$client.shipping_state' => 'Delaware', '$invoice.public_notes' => 'These are some public notes for your document', '$client.shipping_city' => 'Kesslerport', '$client.billing_state' => 'North Carolina', '$product.description' => 'A Product Description', '$product.product_key' => 'A Product Key', '$entity.public_notes' => 'Entity Public notes', '$invoice.balance_due' => '$0.00', '$client.public_notes' => ' ', '$company.postal_code' => $this->settings->postal_code, '$client.billing_city' => 'Aufderharchester', '$secondary_font_name' => 'Roboto', '$product.line_total' => '', '$product.tax_amount' => '', '$company.vat_number' => $this->settings->vat_number, '$invoice.invoice_no' => '0029', '$quote.quote_number' => '0029', '$client.postal_code' => '11243', '$contact.first_name' => 'Benedict', '$secondary_font_url' => 'https://fonts.googleapis.com/css2?family=Roboto&display=swap', '$contact.signature' => '', '$company_logo_size' => $this->settings->company_logo_size ?: 55, '$product.tax_name1' => '', '$product.tax_name2' => '', '$product.tax_name3' => '', '$product.unit_cost' => '', '$quote.valid_until' => '2023-10-24', '$custom_surcharge1' => '$0.00', '$custom_surcharge2' => '$0.00', '$custom_surcharge3' => '$0.00', '$custom_surcharge4' => '$0.00', '$quote.balance_due' => '$0.00', '$company.id_number' => $this->settings->id_number, '$invoice.po_number' => ' ', '$invoice_total_raw' => 0.0, '$postal_city_state' => '11243 Aufderharchester, North Carolina', '$client.vat_number' => '975977515', '$city_state_postal' => 'Aufderharchester, North Carolina 11243', '$contact.full_name' => 'Benedict Eichmann', '$contact.last_name' => 'Eichmann', '$company.country_2' => 'US', '$product.product1' => '', '$product.product2' => '', '$product.product3' => '', '$product.product4' => '', '$statement_amount' => '', '$task.description' => '', '$product.discount' => '', '$entity_issued_to' => '', '$assigned_to_user' => '', '$product.quantity' => '', '$total_tax_labels' => '', '$total_tax_values' => '', '$invoice.discount' => '$0.00', '$invoice.subtotal' => '$0.00', '$company.address2' => $this->settings->address2, '$partial_due_date' => ' ', '$invoice.due_date' => ' ', '$client.id_number' => ' ', '$credit.po_number' => ' ', '$company.address1' => $this->settings->address1, '$credit.credit_no' => '0029', '$invoice.datetime' => '25/Feb/2023 1:10 am', '$contact.custom1' => null, '$contact.custom2' => null, '$contact.custom3' => null, '$contact.custom4' => null, '$task.line_total' => '', '$line_tax_labels' => '', '$line_tax_values' => '', '$secondary_color' => '#7081e0', '$invoice.balance' => '$0.00', '$invoice.custom1' => ' ', '$invoice.custom2' => ' ', '$invoice.custom3' => ' ', '$invoice.custom4' => ' ', '$company.custom1' => ' ', '$company.custom2' => ' ', '$company.custom3' => ' ', '$company.custom4' => ' ', '$quote.po_number' => ' ', '$company.website' => $this->settings->website, '$balance_due_raw' => '0.00', '$entity.datetime' => '25/Feb/2023 1:10 am', '$credit.datetime' => '25/Feb/2023 1:10 am', '$client.address2' => '63993 Aiyana View', '$client.address1' => '8447', '$user.first_name' => 'Derrick Monahan DDS', '$created_by_user' => 'Derrick Monahan DDS Erna Wunsch', '$client.currency' => 'USD', '$company.country' => 'United States', '$company.address' => 'United States
', '$tech_hero_image' => 'http://ninja.test:8000/images/pdf-designs/tech-hero-image.jpg', '$task.tax_name1' => '', '$task.tax_name2' => '', '$task.tax_name3' => '', '$client.balance' => '$0.00', '$client_balance' => '$0.00', '$credit.balance' => '$0.00', '$credit_balance' => '$0.00', '$gross_subtotal' => '$0.00', '$invoice.amount' => '$0.00', '$client.custom1' => ' ', '$client.custom2' => ' ', '$client.custom3' => ' ', '$client.custom4' => ' ', '$emailSignature' => ' ', '$invoice.number' => '0029', '$quote.quote_no' => '0029', '$quote.datetime' => '25/Feb/2023 1:10 am', '$client_address' => '8447
63993 Aiyana View
Aufderharchester, North Carolina 11243
Afghanistan
', '$client.address' => '8447
63993 Aiyana View
Aufderharchester, North Carolina 11243
Afghanistan
', '$payment_button' => 'Pay Now', '$payment_qrcode' => ' ', '$client.country' => 'Afghanistan', '$user.last_name' => 'Erna Wunsch', '$client.website' => 'http://www.parisian.org/', '$dir_text_align' => 'left', '$entity_images' => '', '$task.discount' => '', '$contact.email' => '', '$primary_color' => '#298AAB', '$credit_amount' => '$0.00', '$invoice.total' => '$0.00', '$invoice.taxes' => '$0.00', '$quote.custom1' => ' ', '$quote.custom2' => ' ', '$quote.custom3' => ' ', '$quote.custom4' => ' ', '$company.email' => $this->settings->email, '$client.number' => ' ', '$company.phone' => $this->settings->phone, '$company.state' => $this->settings->state, '$credit.number' => '0029', '$entity_number' => '0029', '$credit_number' => '0029', '$global_margin' => '6.35mm', '$contact.phone' => '681-480-9828', '$portal_button' => 'View client portal', '$paymentButton' => 'Pay Now', '$entity_footer' => 'Default invoice footer', '$client.lang_2' => 'en', '$product.date' => '', '$client.email' => '', '$product.item' => '', '$public_notes' => '', '$task.service' => '', '$credit.total' => '$0.00', '$net_subtotal' => '$0.00', '$paid_to_date' => '$0.00', '$quote.amount' => '$0.00', '$company.city' => $this->settings->city, '$payment.date' => ' ', '$client.phone' => ' ', '$number_short' => '0029', '$quote.number' => '0029', '$invoice.date' => '25/Feb/2023', '$company.name' => $this->settings->name, '$portalButton' => 'View client portal', '$contact.name' => 'Benedict Eichmann', '$entity.terms' => 'Default company invoice terms', '$client.state' => 'North Carolina', '$company.logo' => $this->settings->company_logo, '$company_logo' => $this->settings->company_logo, '$payment_link' => 'http://ninja.test:8000/client/pay/UAUY8vIPuno72igmXbbpldwo5BDDKIqs', '$status_logo' => '', '$description' => '', '$product.tax' => '', '$valid_until' => '', '$your_entity' => '', '$balance_due' => '$0.00', '$outstanding' => '$0.00', '$partial_due' => '$0.00', '$quote.total' => '$0.00', '$payment_due' => ' ', '$credit.date' => '25/Feb/2023', '$invoiceDate' => '25/Feb/2023', '$view_button' => 'View Invoice', '$client.city' => 'Aufderharchester', '$spc_qr_code' => 'SPC 0200 1 K 434343 CH 0.000000 USD NON 0029 EPD ', '$client_name' => 'A Client Called Bob', '$client.name' => 'A Client Called Bob', '$paymentLink' => 'http://ninja.test:8000/client/pay/UAUY8vIPuno72igmXbbpldwo5BDDKIqs', '$payment_url' => 'http://ninja.test:8000/client/pay/UAUY8vIPuno72igmXbbpldwo5BDDKIqs', '$page_layout' => $this->settings->page_layout, '$task.task1' => '', '$task.task2' => '', '$task.task3' => '', '$task.task4' => '', '$task.hours' => '', '$amount_due' => '$0.00', '$amount_raw' => '0.00', '$invoice_no' => '0029', '$quote.date' => '25/Feb/2023', '$vat_number' => '975977515', '$viewButton' => 'View Invoice', '$portal_url' => 'http://ninja.test:8000/client/', '$task.date' => '', '$task.rate' => '', '$task.cost' => '', '$statement' => '', '$user_iban' => ' ', '$signature' => ' ', '$id_number' => ' ', '$credit_no' => '0029', '$font_size' => $this->settings->font_size, '$view_link' => 'View Invoice', '$page_size' => $this->settings->page_size, '$country_2' => 'AF', '$firstName' => 'Benedict', '$user.name' => 'Derrick Monahan DDS Erna Wunsch', '$font_name' => 'Roboto', '$auto_bill' => 'This invoice will automatically be billed to your credit card on file on the due date.', '$payments' => '', '$task.tax' => '', '$discount' => '$0.00', '$subtotal' => '$0.00', '$company1' => ' ', '$company2' => ' ', '$company3' => ' ', '$company4' => ' ', '$due_date' => ' ', '$poNumber' => ' ', '$quote_no' => '0029', '$address2' => '63993 Aiyana View', '$address1' => '8447', '$viewLink' => 'View Invoice', '$autoBill' => 'This invoice will automatically be billed to your credit card on file on the due date.', '$view_url' => 'http://ninja.test:8000/client/invoice/UAUY8vIPuno72igmXbbpldwo5BDDKIqs', '$font_url' => 'https://fonts.googleapis.com/css2?family=Roboto&display=swap', '$details' => '', '$balance' => '$0.00', '$partial' => '$0.00', '$client1' => ' ', '$client2' => ' ', '$client3' => ' ', '$client4' => ' ', '$dueDate' => ' ', '$invoice' => '0029', '$account' => '434343', '$country' => 'Afghanistan', '$contact' => 'Benedict Eichmann', '$app_url' => 'http://ninja.test:8000', '$website' => 'http://www.parisian.org/', '$entity' => '', '$thanks' => '', '$amount' => '$0.00', '$method' => ' ', '$number' => '0029', '$footer' => 'Default invoice footer', '$client' => 'cypress', '$email' => '', '$notes' => '', '_rate1' => '', '_rate2' => '', '_rate3' => '', '$taxes' => '$0.00', '$total' => '$0.00', '$phone' => ' ', '$terms' => 'Default company invoice terms', '$from' => '', '$item' => '', '$date' => '25/Feb/2023', '$tax' => '', '$dir' => 'ltr', '$to' => '', '$show_paid_stamp' => $this->settings->show_paid_stamp ? 'flex' : 'none', '$status_logo' => '
' . ctrans('texts.paid') .'
', '$show_shipping_address' => $this->settings->show_shipping_address ? 'flex' : 'none', '$show_shipping_address_block' => $this->settings->show_shipping_address ? 'block' : 'none', '$show_shipping_address_visibility' => $this->settings->show_shipping_address ? 'visible' : 'hidden', ], 'labels' => [ '$client.shipping_postal_code_label' => 'Shipping Postal Code', '$client.billing_postal_code_label' => 'Postal Code', '$company.city_state_postal_label' => 'City/State/Postal', '$company.postal_city_state_label' => 'Postal/City/State', '$product.gross_line_total_label' => 'Gross line total', '$client.postal_city_state_label' => 'Postal/City/State', '$client.postal_city_label' => 'Postal/City', '$client.shipping_address1_label' => 'Shipping Street', '$client.shipping_address2_label' => 'Shipping Apt/Suite', '$client.city_state_postal_label' => 'City/State/Postal', '$client.shipping_address_label' => 'Shipping Address', '$client.billing_address2_label' => 'Apt/Suite', '$client.billing_address1_label' => 'Street', '$client.shipping_country_label' => 'Shipping Country', '$invoiceninja.whitelabel_label' => '', '$client.billing_address_label' => 'Address', '$client.billing_country_label' => 'Country', '$task.gross_line_total_label' => 'Gross line total', '$contact.portal_button_label' => 'view_client_portal', '$client.shipping_state_label' => 'Shipping State/Province', '$invoice.public_notes_label' => 'Public Notes', '$client.shipping_city_label' => 'Shipping City', '$client.billing_state_label' => 'State/Province', '$product.description_label' => 'Description', '$product.product_key_label' => 'Product', '$entity.public_notes_label' => 'Public Notes', '$invoice.balance_due_label' => 'Balance Due', '$client.public_notes_label' => 'Notes', '$company.postal_code_label' => 'Postal Code', '$client.billing_city_label' => 'City', '$secondary_font_name_label' => '', '$product.line_total_label' => 'Line Total', '$product.tax_amount_label' => 'Tax', '$company.vat_number_label' => 'VAT Number', '$invoice.invoice_no_label' => 'Invoice Number', '$quote.quote_number_label' => 'Quote Number', '$client.postal_code_label' => 'Postal Code', '$contact.first_name_label' => 'First Name', '$secondary_font_url_label' => '', '$contact.signature_label' => '', '$company_logo_size_label' => '', '$product.tax_name1_label' => 'Tax', '$product.tax_name2_label' => 'Tax', '$product.tax_name3_label' => 'Tax', '$product.unit_cost_label' => 'Unit Cost', '$quote.valid_until_label' => 'Valid Until', '$custom_surcharge1_label' => '', '$custom_surcharge2_label' => '', '$custom_surcharge3_label' => '', '$custom_surcharge4_label' => '', '$quote.balance_due_label' => 'Balance Due', '$company.id_number_label' => 'ID Number', '$invoice.po_number_label' => 'PO Number', '$invoice_total_raw_label' => 'Invoice Total', '$postal_city_state_label' => 'Postal/City/State', '$client.vat_number_label' => 'VAT Number', '$city_state_postal_label' => 'City/State/Postal', '$contact.full_name_label' => 'Name', '$contact.last_name_label' => 'Last Name', '$company.country_2_label' => 'Country', '$product.product1_label' => '', '$product.product2_label' => '', '$product.product3_label' => '', '$product.product4_label' => '', '$statement_amount_label' => 'Amount', '$task.description_label' => 'Description', '$product.discount_label' => 'Discount', '$entity_issued_to_label' => 'Invoice issued to', '$assigned_to_user_label' => 'Name', '$product.quantity_label' => 'Quantity', '$total_tax_labels_label' => 'Taxes', '$total_tax_values_label' => 'Taxes', '$invoice.discount_label' => 'Discount', '$invoice.subtotal_label' => 'Subtotal', '$company.address2_label' => 'Apt/Suite', '$partial_due_date_label' => 'Due Date', '$invoice.due_date_label' => 'Due Date', '$client.id_number_label' => 'ID Number', '$credit.po_number_label' => 'PO Number', '$company.address1_label' => 'Street', '$credit.credit_no_label' => 'Invoice Number', '$invoice.datetime_label' => 'Date', '$contact.custom1_label' => '', '$contact.custom2_label' => '', '$contact.custom3_label' => '', '$contact.custom4_label' => '', '$task.line_total_label' => 'Line Total', '$line_tax_labels_label' => 'Taxes', '$line_tax_values_label' => 'Taxes', '$secondary_color_label' => '', '$invoice.balance_label' => 'Balance', '$invoice.custom1_label' => '', '$invoice.custom2_label' => '', '$invoice.custom3_label' => '', '$invoice.custom4_label' => '', '$company.custom1_label' => '', '$company.custom2_label' => '', '$company.custom3_label' => '', '$company.custom4_label' => '', '$quote.po_number_label' => 'PO Number', '$company.website_label' => 'Website', '$balance_due_raw_label' => 'Balance Due', '$entity.datetime_label' => 'Date', '$credit.datetime_label' => 'Date', '$client.address2_label' => 'Apt/Suite', '$client.address1_label' => 'Street', '$user.first_name_label' => 'First Name', '$created_by_user_label' => 'Name', '$client.currency_label' => '', '$company.country_label' => 'Country', '$company.address_label' => 'Address', '$tech_hero_image_label' => '', '$task.tax_name1_label' => 'Tax', '$task.tax_name2_label' => 'Tax', '$task.tax_name3_label' => 'Tax', '$client.balance_label' => 'Account balance', '$client_balance_label' => 'Account balance', '$credit.balance_label' => 'Balance', '$credit_balance_label' => 'Credit Balance', '$gross_subtotal_label' => 'Subtotal', '$invoice.amount_label' => 'Total', '$client.custom1_label' => '', '$client.custom2_label' => '', '$client.custom3_label' => '', '$client.custom4_label' => '', '$emailSignature_label' => '', '$invoice.number_label' => 'Invoice Number', '$quote.quote_no_label' => 'Quote Number', '$quote.datetime_label' => 'Date', '$client_address_label' => 'Address', '$client.address_label' => 'Address', '$payment_button_label' => 'Pay Now', '$payment_qrcode_label' => 'Pay Now', '$client.country_label' => 'Country', '$user.last_name_label' => 'Last Name', '$client.website_label' => 'Website', '$dir_text_align_label' => '', '$entity_images_label' => '', '$task.discount_label' => 'Discount', '$contact.email_label' => 'Email', '$primary_color_label' => '', '$credit_amount_label' => 'Credit Amount', '$invoice.total_label' => 'Invoice Total', '$invoice.taxes_label' => 'Taxes', '$quote.custom1_label' => '', '$quote.custom2_label' => '', '$quote.custom3_label' => '', '$quote.custom4_label' => '', '$company.email_label' => 'Email', '$client.number_label' => 'Number', '$company.phone_label' => 'Phone', '$company.state_label' => 'State/Province', '$credit.number_label' => 'Credit Number', '$entity_number_label' => 'Invoice Number', '$credit_number_label' => 'Invoice Number', '$global_margin_label' => '', '$contact.phone_label' => 'Phone', '$portal_button_label' => 'view_client_portal', '$paymentButton_label' => 'Pay Now', '$entity_footer_label' => '', '$client.lang_2_label' => '', '$product.date_label' => 'Date', '$client.email_label' => 'Email', '$product.item_label' => 'Item', '$public_notes_label' => 'Public Notes', '$task.service_label' => 'Service', '$credit.total_label' => 'Credit Total', '$net_subtotal_label' => 'Net', '$paid_to_date_label' => 'Paid to Date', '$quote.amount_label' => 'Quote Total', '$company.city_label' => 'City', '$payment.date_label' => 'Payment Date', '$client.phone_label' => 'Phone', '$number_short_label' => 'Invoice #', '$quote.number_label' => 'Quote Number', '$invoice.date_label' => 'Invoice Date', '$company.name_label' => 'Company Name', '$portalButton_label' => 'view_client_portal', '$contact.name_label' => 'Contact Name', '$entity.terms_label' => 'Invoice Terms', '$client.state_label' => 'State/Province', '$company.logo_label' => 'Logo', '$company_logo_label' => 'Logo', '$payment_link_label' => 'Pay Now', '$status_logo_label' => '', '$description_label' => 'Description', '$product.tax_label' => 'Tax', '$valid_until_label' => 'Valid Until', '$your_entity_label' => 'Your Invoice', '$balance_due_label' => 'Balance Due', '$outstanding_label' => 'Balance Due', '$partial_due_label' => 'Partial Due', '$quote.total_label' => 'Total', '$payment_due_label' => 'Payment due', '$credit.date_label' => 'Credit Date', '$invoiceDate_label' => 'Invoice Date', '$view_button_label' => 'View Invoice', '$client.city_label' => 'City', '$spc_qr_code_label' => '', '$client_name_label' => 'Client Name', '$client.name_label' => 'Client Name', '$paymentLink_label' => 'Pay Now', '$payment_url_label' => 'Pay Now', '$page_layout_label' => '', '$task.task1_label' => '', '$task.task2_label' => '', '$task.task3_label' => '', '$task.task4_label' => '', '$task.hours_label' => 'Hours', '$amount_due_label' => 'Amount due', '$amount_raw_label' => 'Amount', '$invoice_no_label' => 'Invoice Number', '$quote.date_label' => 'Quote Date', '$vat_number_label' => 'VAT Number', '$viewButton_label' => 'View Invoice', '$portal_url_label' => '', '$task.date_label' => 'Date', '$task.rate_label' => 'Rate', '$task.cost_label' => 'Rate', '$statement_label' => 'Statement', '$user_iban_label' => '', '$signature_label' => '', '$id_number_label' => 'ID Number', '$credit_no_label' => 'Invoice Number', '$font_size_label' => '', '$view_link_label' => 'View Invoice', '$page_size_label' => '', '$country_2_label' => 'Country', '$firstName_label' => 'First Name', '$user.name_label' => 'Name', '$font_name_label' => '', '$auto_bill_label' => '', '$payments_label' => 'Payments', '$task.tax_label' => 'Tax', '$discount_label' => 'Discount', '$subtotal_label' => 'Subtotal', '$company1_label' => '', '$company2_label' => '', '$company3_label' => '', '$company4_label' => '', '$due_date_label' => 'Due Date', '$poNumber_label' => 'PO Number', '$quote_no_label' => 'Quote Number', '$address2_label' => 'Apt/Suite', '$address1_label' => 'Street', '$viewLink_label' => 'View Invoice', '$autoBill_label' => '', '$view_url_label' => 'View Invoice', '$font_url_label' => '', '$details_label' => 'Details', '$balance_label' => 'Balance', '$partial_label' => 'Partial Due', '$client1_label' => '', '$client2_label' => '', '$client3_label' => '', '$client4_label' => '', '$dueDate_label' => 'Due Date', '$invoice_label' => 'Invoice Number', '$account_label' => 'Company Name', '$country_label' => 'Country', '$contact_label' => 'Name', '$app_url_label' => '', '$website_label' => 'Website', '$entity_label' => 'Invoice', '$thanks_label' => 'Thanks', '$amount_label' => 'Total', '$method_label' => 'Method', '$number_label' => 'Invoice Number', '$footer_label' => '', '$client_label' => 'Client Name', '$email_label' => 'Email', '$notes_label' => 'Public Notes', '_rate1_label' => 'Tax', '_rate2_label' => 'Tax', '_rate3_label' => 'Tax', '$taxes_label' => 'Taxes', '$total_label' => 'Total', '$phone_label' => 'Phone', '$terms_label' => 'Invoice Terms', '$from_label' => 'From', '$item_label' => 'Item', '$date_label' => 'Invoice Date', '$tax_label' => 'Tax', '$dir_label' => '', '$to_label' => 'To', '$show_paid_stamp_label' => '', '$status_logo_label' => '', '$show_shipping_address_label' => '', '$show_shipping_address_block_label' => '', '$show_shipping_address_visibility_label' => '', ], ]; } }