PHPackages                             sulu/sulu-sales - 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. [Admin Panels](/categories/admin)
4. /
5. sulu/sulu-sales

AbandonedArchivedSulu-bundle[Admin Panels](/categories/admin)

sulu/sulu-sales
===============

Commerce Bundles of Sulu

0.10.6(7y ago)46.5k6[1 issues](https://github.com/sulu/sulu-sales/issues)[1 PRs](https://github.com/sulu/sulu-sales/pulls)1MITPHPPHP &gt;=5.4

Since Oct 14Pushed 7y ago24 watchersCompare

[ Source](https://github.com/sulu/sulu-sales)[ Packagist](https://packagist.org/packages/sulu/sulu-sales)[ RSS](/packages/sulu-sulu-sales/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (17)Versions (52)Used By (1)

sulu-sales [![Build Status](https://camo.githubusercontent.com/973ada8ade796fee1ddda04af3572f78e5ce34145598f2838eaece9a98927302/68747470733a2f2f7472617669732d63692e6f72672f73756c752f73756c752d73616c65732e7376673f6272616e63683d646576656c6f70)](https://travis-ci.org/sulu/sulu-sales)
=========================================================================================================================================================================================================================================================================================

[](#sulu-sales-)

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

[](#configuration)

The following description contains the default configuration for the different sales bundles.

### SuluSalesCoreBundle

[](#sulusalescorebundle)

```
sulu_sales_core:
    priceformatter_digits: 2
    shop_location: ~ # Is used for calculating correct tax
    email_from: ~ # Originator of sales emails like an order confirmation
    email_templates: # Footer templates for email
        footer_txt: ~
        footer_html: ~

```

### SuluSalesOrderBundle

[](#sulusalesorderbundle)

Confirmation emails are only sent, when using CartManager for creating orders.

```
sulu_sales_order:
    pdf_templates:
        confirmation: SuluSalesOrderBundle:Pdf:order.confirmation.html.twig
        base: SuluSalesCoreBundle:Pdf:pdf-base.html.twig
        header: SuluSalesCoreBundle:Pdf:pdf-base-header.html.twig
        footer: SuluSalesCoreBundle:Pdf:pdf-base-footer.html.twig
        macros: SuluSalesCoreBundle:Pdf:pdf-macros.html.twig
        dynamically: SuluSalesOrderBundle:Pdf:order.dynamically.html.twig
        dynamically_base: SuluSalesOrderBundle:Pdf:order.confirmation.html.twig
    pdf_response_type: 'inline'
    pdf_order_confirmation_name_prefix: order_confirmation
    pdf_order_dynamically_name_prefix: order_pdf
    email_templates:
        footer_txt: ~
        footer_html: ~
    shop_email_from: ~ # Originator of confirmation email
    shop_email_confirmation_to: ~ # Defines an extra recipient for confirmation email
    send_email_confirmation_to_customer: false # Defines if a confirmation mail should be sent to customer
    objects:
        sales_order:
            model: Sulu\Bundle\Sales\OrderBundle\Entity\Order
            repository: Sulu\Bundle\Sales\OrderBundle\Entity\OrderRepository

```

You also need to tell doctrine, how to resolve the target entities:

```
doctrine:
    orm:
        resolve_target_entities:
            Sulu\Bundle\Sales\CoreBundle\Entity\ItemInterface: Sulu\Bundle\Sales\CoreBundle\Entity\Item
            Sulu\Bundle\Sales\OrderBundle\Entity\OrderStatusInterface: Sulu\Bundle\Sales\OrderBundle\Entity\OrderStatus

```

#### Pdf templates dynamically

[](#pdf-templates-dynamically)

The `dynamically` pdf template can be configured easily. That way it is possible to dynamically change the look of the pdf generated from a given order object. To add even more flexibility it is possible to configure the `dynamically_base` template which is the template, that will be extended by `dynamically`. Like: *dynamically extends dynamically\_base*.

Since there are defaults specified and default templates exist in the bundle, it is not strictly necessary to configure those parameters.

#### Pdf response type

[](#pdf-response-type)

The way the order bundle reacts on http requests that return a pdf. It is possible to configure the response so that, for example, it is returned as `inline` so that the pdf file would be shown in a new tab, or as `attachment`. As an attachment it would start a download without opening the file in the browser.

These configurations can be set in the `parameters.yml`-file of your application under the key:

```
sulu_sales_orderbundle_pdf_responsetype: inline

```

The bundle-sided configuration for this key defaults to `inline`.

#### Pdf naming prefixes

[](#pdf-naming-prefixes)

The naming prefixes, that can be configured are : `pdf_order_confirmation_name_prefix` and `pdf_order_dynamically_name_prefix`. That way it is easily configurable how the returned file is named. So if a dynamic template is rendered, the `pdf_order_dynamically_name_prefix` will be used and suffixed with the order number. Applying the same logic, the filename for the confirmation pdf is generated.

If not configured, the default values are applied. Those are like shown in the example config above.

Routing
-------

[](#routing)

The routing of the Bundle depends on the routing files that live in the respective `Resources/config/routing`directories.

Those are, grouped by bundle:

- SuluSalesOrderBundle:
    - routing.xml
    - routing\_api.xml
    - routing\_website.xml
- SuluSalesCoreBundle:
    - routing.xml
- SuluSalesShippingBundle:
    - routing.xml
    - routing\_api.xml

It is also important to know, that the routing for tests is configured separately. (Check the Tests/ directory)

How to run tests
----------------

[](#how-to-run-tests)

The following command is going to run tests for all sales bundles:

```
composer install

tests/app/console doctrine:schema:update --force

phpunit

```

Documentation
-------------

[](#documentation)

### Extend Sales Order

[](#extend-sales-order)

You can use sulu persistence to extend the Order entity and repository.

### Events

[](#events)

The following events are triggered by the system:

ConstantParameterTriggeredParametersSalesOrderEvents:StatusChangedsulu\_sales\_order.events.status\_changedTriggered when the status of an order changes.SuluSalesOrderStatusChangeEvent

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 74.4% 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 ~23 days

Recently: every ~33 days

Total

42

Last Release

2895d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5dbafb2ec00aab7a9f476cf2dd77f63923acfda214ec7bf728c662a9e88f39c7?d=identicon)[chirimoya](/maintainers/chirimoya)

---

Top Contributors

[![turbo-ele](https://avatars.githubusercontent.com/u/5152633?v=4)](https://github.com/turbo-ele "turbo-ele (671 commits)")[![christianbader](https://avatars.githubusercontent.com/u/96615?v=4)](https://github.com/christianbader "christianbader (73 commits)")[![notsure](https://avatars.githubusercontent.com/u/922237?v=4)](https://github.com/notsure "notsure (59 commits)")[![trickreich](https://avatars.githubusercontent.com/u/16644200?v=4)](https://github.com/trickreich "trickreich (35 commits)")[![sabinebaer](https://avatars.githubusercontent.com/u/5627878?v=4)](https://github.com/sabinebaer "sabinebaer (20 commits)")[![alexander-schranz](https://avatars.githubusercontent.com/u/1698337?v=4)](https://github.com/alexander-schranz "alexander-schranz (19 commits)")[![stemod](https://avatars.githubusercontent.com/u/8983812?v=4)](https://github.com/stemod "stemod (12 commits)")[![dantleech](https://avatars.githubusercontent.com/u/530801?v=4)](https://github.com/dantleech "dantleech (4 commits)")[![chirimoya](https://avatars.githubusercontent.com/u/627313?v=4)](https://github.com/chirimoya "chirimoya (4 commits)")[![wachterjohannes](https://avatars.githubusercontent.com/u/1464615?v=4)](https://github.com/wachterjohannes "wachterjohannes (3 commits)")[![mob8607](https://avatars.githubusercontent.com/u/1636945?v=4)](https://github.com/mob8607 "mob8607 (2 commits)")

---

Tags

commercesulusales

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sulu-sulu-sales/health.svg)

```
[![Health](https://phpackages.com/badges/sulu-sulu-sales/health.svg)](https://phpackages.com/packages/sulu-sulu-sales)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[sulu/article-bundle

Bundle for managing localized content-rich entities like blog-posts in the Sulu content management system

66409.6k2](/packages/sulu-article-bundle)[sylius/order-bundle

Sales order management for Symfony applications.

11415.2k8](/packages/sylius-order-bundle)

PHPackages © 2026

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