Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Magento Customer Prices Nova Laravel Package

justbetter/laravel-magento-customer-prices-nova

Manage Magento customer-specific prices directly in Laravel Nova. This package provides Nova resources for browsing, creating, and updating customer price records, so your team can keep Magento pricing data accurate and accessible without building custom admin tooling. Ideal for stores with per-cust...

View on GitHub
Deep Wiki
Context7

Getting Started

4.5.0 is a compatibility release: it adds Laravel 13 support. There are no new day-to-day features or documented breaking changes, so treat it as a low-risk upgrade from 4.4.x after confirming your Nova and PHP versions satisfy the updated Composer constraints.

Start by installing the Nova package alongside its core data package:

composer require justbetter/laravel-magento-customer-prices-nova:^4.5

Then:

  1. Configure and sync the underlying justbetter/laravel-magento-customer-prices data first. The Nova package is the presentation layer; it is only useful once customer-price records exist in Laravel.
  2. Check the package README for any publishable config or migration tags, and publish only what you need to override.
  3. Register the package’s Nova resource or relation manager in NovaServiceProvider, unless auto-discovery already handles it in your Nova version.
  4. Clear caches after install/config changes:
php artisan optimize:clear

Where to look first:

  • The package README for the exact resource/relation-manager class names and registration snippets.
  • config/magento-customer-prices.php in the core package for connection, model, and sync settings.
  • Your existing Nova Product and Customer/User resources, since that is where customer-specific prices are usually exposed.

First useful use case: attach the customer-prices relation manager to your Nova Customer resource so support/admin users can inspect which custom prices apply to a customer, or attach it to the Product resource to see which customers have overridden prices for that SKU. Keep it read-only initially; only enable editing if you have confirmed write-back to Magento is configured and safe.

Implementation Patterns

Expose prices where operators already work. Add the relation manager to both sides of the relationship where practical:

public function fields(NovaRequest $request): array
{
    return [
        // ...
        RelationManager::make(CustomerPricesRelationManager::class),
    ];
}

Use it on Customer for “what does this customer pay?” and on Product for “who has custom pricing for this item?”.

Default to read-only Nova. If Magento remains the source of truth, make price fields non-editable in Nova and use the package primarily for visibility, auditing, and support. If the package/core integration supports write-back, guard edits with policies and Nova actions so only authorised users can change prices.

Scope queries deliberately. In multi-store or multi-tenant setups, constrain the relation manager’s query by website/store, customer group, or tenant. Use Nova filters for customer, product/SKU, currency, and website rather than relying on free-text search alone.

Pair Nova with the sync lifecycle. Schedule the core customer-price sync via queue workers, and expose sync status where useful (synced_at, source, last error). Consider a Nova action that dispatches a targeted sync for one customer/product rather than forcing operators to run full imports.

Use policies for price visibility. Customer-specific pricing can be commercially sensitive. Add Nova policies and field-level canSee/canEdit checks so account managers see only their customers and only the price fields they need.

Extend by composition. Prefer a small custom Nova resource, relation manager, or action that wraps the package’s model/query rather than forking package classes. This keeps Laravel 13/Nova upgrades straightforward.

Gotchas and Tips

  • 4.5.0 is compatibility-only. The main risk is dependency resolution, not runtime behaviour. Run composer why-not justbetter/laravel-magento-customer-prices-nova 4.5.0 if the upgrade does not apply, and verify your Nova major and PHP version.
  • Do not assume Nova edits reach Magento. Unless write-back is explicitly configured and tested, treat Nova changes as local-only and likely to be overwritten by the next sync.
  • Sync staleness is the common support issue. Check queue workers, scheduler entries, and the core package’s sync logs before debugging Nova. A missing price in Nova is often a failed/stale sync, not a Nova field problem.
  • ID mapping matters. Magento customer IDs, Laravel user IDs, product IDs, and SKUs are not interchangeable. Confirm which key the relation manager and filters use.
  • Money precision. Avoid float comparisons in custom metrics or filters. Use the package’s decimal/integer storage conventions consistently, and remember currency and store/website scoping.
  • Relation manager not showing up? Check the relationship exists on the parent model, the foreign/local keys are correct, the resource is registered, and Nova’s cache has been cleared.
  • N+1 queries. Eager-load customer/product relationships in custom index queries or cards; customer-price tables grow quickly.
  • Config cache surprises. After changing package config, run php artisan config:clear or optimize:clear. Config changes are invisible under cached config.
  • Extension points to prefer: custom Nova resource/relation manager subclasses, policies, Nova filters/actions, and published config overrides. Avoid editing vendor files so future Laravel/Nova compatibility releases remain painless.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle