There are several WordPress hooks that developers can use to further enhance the plugin behavior and customize it to their needs. You’ll need deep knowledge of PHP as well as the WordPress and WooCommerce code base and API. The plugin technical support doesn’t cover custom development using these hooks.

This page is a work in progress and some hooks might still not be documented.

Email

invoicexpress_woocommerce_email_placeholders

Filter: Add new replacement variables to the email contents.

invoicexpress_woocommerce_{$type}_email_subject
invoicexpress_woocommerce_{$type}_email_heading
invoicexpress_woocommerce_{$type}_email_body

Filter: Manipulate the document emails’ subject, heading, and body.

{$type} can be invoice, simplified_invoice, invoice_receipt, vat_moss_invoice, credit_note, quote or proforma.

For error reporting emails type is error and for automatic invoices VAT exemption errors the type is automatic_invoice_exemption.

Arguments:

  • The current text: string $text
  • The order: WC_Order $order_object

invoicexpress_woocommerce_email_headers

Filter: Manipulate the document emails’ header.

Arguments:

  • The current headers: array $headers
  • The order: WC_Order $order_object
  • The document type: string $type

Usage example: here.

Documents issuing details

invoicexpress_woocommerce_document_client_name

Filter: Manipulate the client name used for the document.

Arguments:

  • The current name: string $client_name
  • The order: WC_Order $order_object
  • The default entity: string $entity (“company” or “customer”)

invoicexpress_woocommerce_{$type}_validity

Filter: Manipulate the number of days a document remains valid or is due to be paid.

{$type} can be invoice, simplified_invoice, invoice_receipt, vat_moss_invoice, credit_note, quote, proforma, transport_guide or devolution_guide.

Arguments:

  • The current validity: string $validity
  • The order: WC_Order $order_object

invoicexpress_woocommerce_{$type}_data

Filter: Manipulate the full document array that is sent to the InvoiceXpress API.

{$type} can be invoice, simplified_invoice, invoice_receipt, vat_moss_invoice, credit_note, quote, proforma, transport_guide or devolution_guide.

Arguments:

  • The current data: array $document_data
  • The order: WC_Order $order_object

(Still) undocumented hooks

These are hooks that we still hadn’t the time to document.

  • Action: invoicexpress_woocommerce_error
  • Action: invoicexpress_woocommerce_debug
  • Filter: invoicexpress_woocommerce_bulk_invoice_data
  • Filter: invoicexpress_woocommerce_add_vat_to_email
  • Filter: invoicexpress_woocommerce_add_vat_to_thank_you
  • Filter: invoicexpress_woocommerce_settings_tabs
  • Filter: invoicexpress_woocommerce_registered_{$tab}_settings
  • Action: invoicexpress_woocommerce_after_document_issue
  • Action: invoicexpress_woocommerce_before_document_email
  • Action: invoicexpress_woocommerce_after_document_finish
  • Filter: invoicexpress_woocommerce_automatic_invoice_possible_status
  • Filter: invoicexpress_woocommerce_automatic_invoice_not_recommended_status
  • Filter: invoicexpress_woocommerce_checkout_disable_aelia_field_feedback
  • Filter: invoicexpress_woocommerce_document_language
  • Filter: invoicexpress_woocommerce_new_client_code
  • Filter: invoicexpress_woocommerce_document_filename
  • Filter: invoicexpress_woocommerce_prevent_document_issuing
  • Filter: invoicexpress_woocommerce_allowed_coupon_types
  • Filter: invoicexpress_woocommerce_document_item_title
  • Filter: invoicexpress_woocommerce_document_item_title_with_meta
  • Filter: invoicexpress_woocommerce_document_item
  • Filter: invoicexpress_woocommerce_document_item_unit
  • Filter: invoicexpress_woocommerce_items_after_document_item_add
  • Filter: invoicexpress_woocommerce_shipping_and_fee_ref_unique
  • Filter: invoicexpress_woocommerce_document_shipping
  • Filter: invoicexpress_woocommerce_document_shipping_unit
  • Filter: invoicexpress_woocommerce_items_after_document_shipping_add
  • Filter: invoicexpress_woocommerce_document_fee
  • Filter: invoicexpress_woocommerce_document_fee_unit
  • Filter: invoicexpress_woocommerce_items_after_document_fee_add
  • Filter: invoicexpress_woocommerce_partial_exemption
  • Action: invoicexpress_woocommerce_partial_exemption_applied
  • Filter: invoicexpress_woocommerce_partial_exemption_reason
  • Filter: invoicexpress_woocommerce_automatic_invoice_type
  • Filter: invoicexpress_woocommerce_automatic_invoice_exemption_email_subject
  • Filter: invoicexpress_woocommerce_automatic_invoice_exemption_email_heading
  • Filter: invoicexpress_woocommerce_automatic_invoice_exemption_email_body
  • Filter: invoicexpress_woocommerce_delay_automatic_invoice
  • Filter: invoicexpress_woocommerce_delay_automatic_invoice_time
  • Filter: invoicexpress_woocommerce_delay_automatic_guide
  • Filter: invoicexpress_woocommerce_delay_automatic_guide_time
  • Action: invoicexpress_woocommerce_error
  • Action: invoicexpress_woocommerce_debug
  • Filter: invoicexpress_woocommerce_get_pdf_timeout
  • Action: invoicexpress_woocommerce_before_email_body
  • Action: invoicexpress_woocommerce_after_email_body
  • Filter: invoicexpress_woocommerce_hybrid_email_css
  • Filter: invoicexpress_woocommerce_valid_order_classes
  • Filter: invoicexpress_woocommerce_order_is_vat_moss_eligible
  • Filter: invoicexpress_woocommerce_get_client_info
  • Filter: invoicexpress_woocommerce_eu_vies_exemption_reason
  • Action: invoicexpress_woocommerce_after_update_order_meta_frontend
  • Filter: invoicexpress_woocommerce_email_order_date
  • Filter: invoicexpress_woocommerce_pro_is_valid_order_type
  • Filter: invoicexpress_woocommerce_error_email_subject
  • Filter: invoicexpress_woocommerce_error_email_heading
  • Filter: invoicexpress_woocommerce_error_email_body
  • Action: invoicexpress_woocommerce_fetch_at_code
  • Filter: invoicexpress_woocommerce_get_document_qr_code
  • Filter: invoicexpress_woocommerce_vat_field_priority
  • Filter: invoicexpress_woocommerce_automatic_invoice_type
  • Filter: invoicexpress_woocommerce_order_should_be_vat_exempt
  • Action: invoicexpress_woocommerce_before_auto_invoice_check