# Recipes and plugins

When implementing a feature, check for similar prior work or an existing plugin. Follow the relevant GitHub Markdown links before writing code; prefer an existing plugin when it fits.

## Recipes

- [Dokploy and Vendure](https://github.com/Pinelab-studio/pinelab-engineering/blob/main/docs/recipes/dokploy.md) — Troubleshoot domain certificates and enable HTTP compression on Dokploy-managed Traefik deployments.
- [GTM Advanced Consent mode with Astro and Vendure](https://github.com/Pinelab-studio/pinelab-engineering/blob/main/docs/recipes/marketing-consent.md) — Set up GTM advanced Consent Mode with a custom cookie banner in Astro, and track purchases and shopping events from Vendure.
- [Send Vendure logs to Google Cloud Logging](https://github.com/Pinelab-studio/pinelab-engineering/blob/main/docs/recipes/gcp-cloud-logging-vendure.md) — Wire up a custom VendureLogger that sends server and worker logs to Google Cloud Logging via Winston, so everything is visible in the GCP Log Viewer.
- [Storefront SEO audit with Vendure](https://github.com/Pinelab-studio/pinelab-engineering/blob/main/docs/recipes/storefront-seo.md) — Audit product and collection page SEO and map missing storefront features to Vendure data integration.
- [Vendure Common Errors](https://github.com/Pinelab-studio/pinelab-engineering/blob/main/docs/recipes/vendure-common-errors.md) — Common Vendure errors and how to fix them. Short, concise entries for issues you might hit when running or extending a Vendure shop.
- [Vendure EU reverse-charge tax](https://github.com/Pinelab-studio/pinelab-engineering/blob/main/docs/recipes/vendure-tax.md) — Implement and configure Vendure EU reverse-charge tax zones, tax rates, VAT-format checks, and a custom TaxZoneStrategy.

## Plugins

- [Admin UI helper buttons for Vendure Dashboard](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-admin-ui-helpers/README.md) — Vendure plugin for various admin ui helpers. Cancel button, complete order button etc.
- [Frequently Bought Together Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-frequently-bought-together/README.md) — Increase average order value by suggesting frequently bought together products based on past orders. Also known as related products or product recommendations.
- [Google Cloud Tasks Vendure plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-google-cloud-tasks/README.md) — Vendure plugin for using worker jobs with Google Cloud Tasks
- [Modify Customer Orders plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-modify-customer-orders/README.md) — Vendure plugin for converting Active orders to Draft
- [Multi-Server Session Cache Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-multiserver-db-sessioncache/README.md) — An implementation of Vendure's SessionCacheStrategy that caches session in the database
- [Order PDF's Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-order-pdfs/README.md) — A Vendure plugin that enables the download of various types of PDF files for orders, such as quotations, packing slips, and shipping labels.
- [Remote Asset Downloader](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/remote-asset-downloader/README.md) — Utility to download assets from remote servers and store locally for static site builds.
- [Shipping Extenions Vendure Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-shipping-extensions/README.md) — Vendure plugin for configurable shipping calculators and eligibility checkers.
- [Sort by popularity Vendure plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-popularity-scores/README.md) — Sort products and collections by popularity based on previously placed orders
- [Vendure Accept Blue Subscriptions](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-accept-blue/README.md) — Vendure plugin for creating subscriptions with the Accept Blue platform
- [Vendure Address Lookup](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-address-lookup/README.md) — Vendure plugin for searching, validating and autofilling address details in checkouts
- [Vendure Alerting Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-alerting/README.md) — Vendure plugin for sending alerts based on events and log to various notifiers like Slack, email or N8N
- [Vendure Anonymized Order](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-anonymized-order/README.md) — This plugin facilitates the retrieval of anonymized customer orders
- [Vendure Better Search Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-better-search/README.md) — Vendure plugin for better storefront search, without the need of external systems
- [Vendure Coinbase plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-coinbase/README.md) — Vendure plugin for Coinbase payments
- [Vendure content / SEO monitor plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-content-health/README.md) — Vendure plugin that validates product and collection storefront pages for SEO/content issues (meta tags, hreflang, JSON-LD, sitemap inclusion) and surfaces the results in the dashboard.
- [Vendure Content Automation Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-content-automation/README.md) — Vendure plugin that orchestrates bulk generation and enrichment of entity content (e.g. SEO meta tags) per channel and language, via consumer-provided strategies.
- [Vendure Customer Group Extensions](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-customer-managed-groups/README.md) — Allow customer groups to have 'Group admins', that are allowed to fetch placed orders for everyone in the group.
- [Vendure Drop Off Points Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-drop-off-points/README.md) — Show nearby parcel drop off points to your customers. Supports multiple carriers and allows custom carriers. Also known as collection points or pickup points.
- [Vendure E-boekhouden plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-e-boekhouden/README.md) — Vendure plugin for integration with the e-boekhouden accounting platform
- [Vendure Facets Suggestion Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-facet-suggestions/README.md) — A vendure plugin that allows you to define suggested facets for all products, or suggested facets based on other facets.
- [Vendure GoedGepickt plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-goedgepickt/README.md) — Vendure plugin for integration with the Goedgepickt order picking platform
- [Vendure Google Asset Storage plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-google-storage-assets/README.md) — Vendure plugin for uploading assets to Google storage
- [Vendure Google Sheet Loader plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-google-sheet-loader/README.md) — Vendure plugin for loading data from a Google Sheet
- [Vendure Klaviyo Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-klaviyo/README.md) — An extensible plugin for sending placed orders to the Klaviyo marketing platform.
- [Vendure Limited Products Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-limited-products/README.md) — Limit the maximum quantity of a product that can be ordered at a time, or require that purchases be made in bulk quantities, such as in multiples of 6 items.
- [Vendure Metrics plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-metrics/README.md) — Vendure plugin measuring and visualizing e-commerce metrics
- [Vendure MyParcel Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-myparcel/README.md) — Vendure plugin for MyParcel fulfillment
- [Vendure Order Cleanup Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-order-cleanup/README.md) — undefined
- [Vendure Order Export Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-order-export/README.md) — Vendure plugin for exporting orders to a file
- [Vendure Payment Extensions](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-payment-extensions/README.md) — Vendure plugin for allowing customers to 'pay' for an order without actually paying
- [Vendure Picqer Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-picqer/README.md) — Vendure plugin syncing to orders and stock with Picqer
- [Vendure Plugin for bulk updating all variants of a product](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-variant-bulk-update/README.md) — Vendure plugin to bulk update all variants of a product
- [Vendure Plugin for generating PDF invoices](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-invoices/README.md) — Vendure plugin for PDF invoice generation
- [Vendure plugin to fulfill orders via QLS](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-qls-fulfillment/README.md) — Vendure plugin to fulfill orders via QLS.
- [Vendure Primary Collection Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-primary-collection/README.md) — Adds a primary collection to all Products by extending Vendure's graphql api
- [Vendure Promotion Extensions](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-promotion-extensions/README.md) — A collection of different promotion actions and conditions for Vendure
- [Vendure Public Customer Groups](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-public-customer-groups/README.md) — Determines if a customer group is publicly visible
- [Vendure Scripts](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-scripts/README.md) — Scripts that can be used with Vendure projects
- [Vendure Selectable Gifts Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-selectable-gifts/README.md) — Vendure plugin to enable free customer selected gifts
- [Vendure SendCloud plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-sendcloud/README.md) — Vendure plugin for syncing orders with SendCloud
- [Vendure Shipmate Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-shipmate/README.md) — Vendure plugin for integration with Shipmate
- [Vendure Simple CMS Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-simple-cms/README.md) — Vendure plugin for simple CMS content management
- [Vendure Social Authentication for Administrators](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-admin-social-auth/README.md) — Plugin to allow authentication for administrators with socials like Google
- [Vendure stock monitoring plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-stock-monitoring/README.md) — Vendure plugin for monitoring stock levels per variant. View low stock in your dashboard or get notified through an event.
- [Vendure Store Credit Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-store-credit/README.md) — Vendure plugin for channel-aware store credit wallets with ledger tracking
- [Vendure Stripe Subscription plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-stripe-subscription/README.md) — Vendure plugin for selling subscriptions via Stripe
- [Vendure UTM Tracker Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-utm-tracker/README.md) — Connect UTM parameters directly to your orders, to prevent double-attribution caused by silo'ed marketing platforms
- [Vendure Validate Cart Plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-validate-cart/README.md) — Vendure plugin for validating the cart before checkout
- [Vendure Webhook plugin](https://github.com/Pinelab-studio/pinelab-vendure-plugins/blob/main/packages/vendure-plugin-webhook/README.md) — Call webhooks based on configured events from Vendure
