CoreShop Order Number Generator
When an order is completed, a number is generated for that order. This happens at the CoreShop\Component\Core\Order\Committer\OrderCommitter, which uses a NumberGeneratorInterface service.
If the CoreBundle is installed, the coreshop.order.number_generator.prefix_suffix service is injected. It decorates the coreshop.order.number_generator.default and extends it with the feature to manage a prefix and suffix via the CoreShop settings.
To create a custom number generator, a service must be created which also decorates the coreshop.order.number_generator.default. To set the order of the decorations, use decoration_priority.
Choosing decoration_priority higher or equal zero, the order of called decoraters would be  PrefixSuffix Generator > CustomNumberGenerator > DefaultSequenceGenerator.
If you choose a decoration_priority below zero, the order of called decoraters would change to CustomNumberGenerator > PrefixSuffix Generator > DefaultSequenceGenerator.
Example for custom implementation of NumberGenerator, that adds padding to the number
final class CustomNumberGenerator implements NumberGeneratorInterface
{
    public function __construct(
        private NumberGeneratorInterface $numberGenerator, # decorated service
    ) {
    }
    public function generate(ResourceInterface $model): string
    {
        $number = $this->numberGenerator->generate($model);
        return str_pad($number, 10, '0', STR_PAD_LEFT);
    }
}
Symfony service definition
  App\Order\CustomNumberGenerator:
    decorates: coreshop.order.number_generator.default
    decoration_priority: 1
    arguments:
      - '@.inner'