PHPackages                             ppm\_fulfillment/magento-fulfillment - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ppm\_fulfillment/magento-fulfillment

ActiveMagento2-module[API Development](/categories/api)

ppm\_fulfillment/magento-fulfillment
====================================

Magento 2 plugin to interface with PPM Fulfillment

0.1.3(6y ago)0211MITPHP

Since Nov 21Pushed 6y ago1 watchersCompare

[ Source](https://github.com/PPM-Fulfillment/magento-plugin)[ Packagist](https://packagist.org/packages/ppm_fulfillment/magento-fulfillment)[ Docs](http://home.ppmfulfillment.com/)[ RSS](/packages/ppm-fulfillment-magento-fulfillment/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (7)DependenciesVersions (9)Used By (0)

PPM Magento Plugin
==================

[](#ppm-magento-plugin)

This plugin lets merchants with Magento online stores have orders automatically be sent over to [PPM Fulfillment](http://home.ppmfulfillment.com/).

It is only for Magento users who also have accounts with PPM.

Here is how it works:

1. A customer places an order with one or more items.
2. At the time the order is placed, we see if any of those items are fulfilled by PPM
3. The items in that order fulfilled by PPM are added to a shipment (collection of packages) and sent to PPM
4. PPM posts back order updates (in the form of tracking numbers) as they come in

Installation
------------

[](#installation)

The best way to install this plugin is through the Magento marketplace (PENDING)

You can install using composer as well:

```
$ composer require ppm_fulfillment/magento-fulfillment

```

Do this from the application root in your server shell. The continue by [following the directions in this article](https://devdocs.magento.com/extensions/install/)

Finally, you can install with a manual file upload:

1. Download the extension from GitHub
2. Create a directory (in your Magento installation) of `app/code/Ppm/Fulfillment`
3. Copy contents of this repository to that directory
4. Run `php bin/magento setup:upgrade` in the installation root
5. Run `php bin/magento setup:di:compile`
6. Verify module status: `$ bin/magento module:status`
7. Clear the cache: `$ bin/magento cache:clean`

Configuration
-------------

[](#configuration)

To use this plugin, you will need:

- An active account with PPM Fulfillment
- An active third-party API integration and API key
- The PPM API URL (a default is provided)
- Your "Owner Code" (which you'll get from PPM)
- An active Magento store

### Step 1: Set up the plugin

[](#step-1-set-up-the-plugin)

First, on the side menu, select **Stores** &gt; **All Stores**.

[![](readme-assets/01-stores-menu.png)](readme-assets/01-stores-menu.png)

From there, you'll want to select the correct **Web Site**. Each row corresponds to a store in your site. If you have multiple stores, you will need to repeat this process for each store using a different PPM Third Party Integration API Key each time.

[![](readme-assets/02-stores-view.png)](readme-assets/02-stores-view.png)

This will open up your site configuration. The three PPM-specific fields are:

- PPM API Key (provided by PPM)
- PPM Owner Code (provided by PPM)
- PPM API URL (you'll almost certainly want to leave the default value of `https://portal.ppmfulfillment.com/api/External/ThirdPartyOrders`)

All three of these fields must be filled in before orders can be submitted to PPM automatically.

[![](readme-assets/03-store-config.png)](readme-assets/03-store-config.png)

### Step 2: Configure Products

[](#step-2-configure-products)

Assuming you have the plugin set up correctly, you next need to configure individual products. For each product you want fulfilled by PPM, you will need to:

1. Indicate that the product is fulfilled by PPM
2. Provide a PPM product ID (provided by PPM)

[![](readme-assets/04-product-configuration.png)](readme-assets/04-product-configuration.png)

We make the assumption that you will have some products fulfilled by PPM and some products fulfilled through other channels (whatever those might be). Thus, we ask that you explicitly indicate individual products to be fulfilled by PPM.

When a customer places an order, if that order has any PPM-fulfilled products (identified by both having a "true" value for `Fulfilled by PPM?` and a PPM Product SKU), those products (and their quantities) are sent along to PPM as the final step of the order process. Any non-PPM-fulfilled products in an order will *not* be sent to PPM.

### Step 3: PPM Fulfillment Request From Magento(automated)

[](#step-3-ppm-fulfillment-request-from-magentoautomated)

When a new order is created, this extention will iterate through the catalog products included in the order and build a list of catalog products to be fulfilled by PPM. A catalog item must have a `PPM Product ID` value and `Fulfilled by PPM` must be set to `true` or this catalog product will not be included in the request to PPM.

At this point, the `Has PPM Shipments?` column on the orders grid view, should show `Yes`. Please note, this will show `Yes` even before Shipment records have been created by PPM. This column is turned on by default with installation of this extension, but can be hidden from the view via the `columns` checklist.

[![](readme-assets/05-orders-grid.png)](readme-assets/05-orders-grid.png)

### Step 4: PPM Fulfillment Updates Magento Admin(automated)

[](#step-4-ppm-fulfillment-updates-magento-adminautomated)

Once PPM has fulfilled a Shipment with the requested contents, an update will be sent to Magento that does the following:

1. Create a new Shipment Record
2. Create a new Shipment Tracking Record
3. Create one new PPM Shipment Detail record detailing quantity, lot number, and serial number for each item included in the Shipment.

### Step 5: Shipment Information Review

[](#step-5-shipment-information-review)

Once a Shipment record has been created, it will appear under your Shipments grid. The column `Fulfilled by PPM?` will show `Yes` if a Shipment was created by PPM Fulfillment. This column is turned on by default with installation of this extension, but can be hidden from the view via the `columns` checklist.

[![](readme-assets/06-shipments-grid.png)](readme-assets/06-shipments-grid.png)

The Shipments view page will provide information regarding `Lot Number`, `Serial Number`, and `Quantity` regarding a particular shipment.

[![](readme-assets/07-shipments-view.png)](readme-assets/07-shipments-view.png)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Total

7

Last Release

2293d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4f8ef1c81fbd7b31b5987d73cd5c7e0a82589695df549d03db40f81e5b66b2ee?d=identicon)[andrewcek](/maintainers/andrewcek)

---

Top Contributors

[![Rynium](https://avatars.githubusercontent.com/u/13847592?v=4)](https://github.com/Rynium "Rynium (16 commits)")[![andrewek](https://avatars.githubusercontent.com/u/714518?v=4)](https://github.com/andrewek "andrewek (12 commits)")

---

Tags

magentofulfillmentppm

### Embed Badge

![Health badge](/badges/ppm-fulfillment-magento-fulfillment/health.svg)

```
[![Health](https://phpackages.com/badges/ppm-fulfillment-magento-fulfillment/health.svg)](https://phpackages.com/packages/ppm-fulfillment-magento-fulfillment)
```

###  Alternatives

[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8044.5M33](/packages/smile-elasticsuite)[m2epro/magento2-extension

M2E Pro is a Magento trusted (TM), award-winning extension, which allows merchants of all sizes to fully integrate Magento based system(s) into eBay/Amazon/Walmart platforms.

70642.0k](/packages/m2epro-magento2-extension)[tinify/magento2

Make your web shop faster by compressing your JPEG and PNG images. This plugin automatically optimizes your images by integrating with the popular image compression services TinyJPG and TinyPNG.

4345.8k](/packages/tinify-magento2)[sehrling/elasticsuite-ghost-cleaner

Magento 2 module to delete ghost indices automatically for the Smile Elasticsuite module

1789.0k](/packages/sehrling-elasticsuite-ghost-cleaner)[yireo/magento2-graph-ql-rate-limiting

Magento 2 module to add rate limiting to GraphQL resources

1419.8k](/packages/yireo-magento2-graph-ql-rate-limiting)[collab/module-speculation-rules

Magento 2 module which adds support for Speculation Rules API for instant page loads.

108.5k](/packages/collab-module-speculation-rules)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
