Shipping Shenanigans: Navigating Dynamics 365 Small Parcel Shipping...Good Start, But Still Lacking

Staying competitive often hinges on embracing innovation and adapting to the changing needs of your customers and implementing technology that allows your organization to do more with less human manual intervention. Microsoft Dynamics 365 Finance & Operations has consistently been at the forefront of delivering cutting-edge solutions for businesses, and with the release of version 10.0.29, it has introduced an eagerly awaited feature - Small Parcel Shipping (SPS). While this feature brings significant advantages to organizations shipping individual sales orders via commercial carriers, it is important to note that it does come with some limitations that fall short of what is really needed to bring integrated shipping options to that of first-class citizen within the Dynamics 365 user experience. 

Understanding Small Parcel Shipping

The Small Parcel Shipping feature in Microsoft Dynamics 365 Supply Chain Management is designed to facilitate direct interactions with shipping carriers by establishing a communication framework through carrier APIs. This is particularly valuable for organizations involved in individual sales order shipping, as opposed to container shipping or less-than-truckload (LTL) shipping.

Direct Carrier Communication: The SPS feature streamlines the process by allowing your organization to communicate directly with your chosen shipping carrier through a dedicated rate engine. This rate engine is developed in collaboration with your carrier or carrier hub service and is not provided by Microsoft thus ownership falls to the customer, but does provide the user interface to capture the data required to interact with the carrier APIs accordingly.

End-to-End Process: The rate engine serves as the intermediary that enables Supply Chain Management to submit container details to the carrier. In return, it retrieves essential information, including shipping labels, shipping rates, and tracking numbers.

The Long-Awaited Feature

The Small Parcel Shipping feature has been long awaited in the Dynamics 365 community, primarily because of the efficiency it promises to bring to individual sales order shipping processes. By automating and streamlining interactions with shipping carriers, it can significantly reduce manual efforts and the potential for errors. However, despite the enthusiasm surrounding this feature, it is essential to acknowledge its limitations.

Where are the Accessorials and Markup?

One of the primary shortcomings of the SPS feature is its limited support or lack thereof for accessorials. Organizations that need to include additional elements such as declared value, additional insurance, or special handling for their shipments may find it challenging to implement these without significant customization. This requirement contradicts the initial intention of making the feature user-friendly and less reliant on custom development.

These add-on services are commonly available across all carriers however Microsoft did not provide a user-interface or framework to capture or define such at the time of transaction thus a significant oversight that has us still waiting for a solution to accommodate.

Another crucial limitation to be aware of is the absence of native support for applying additional markup to freight charges. Many businesses rely on the ability to adjust freight charges to meet specific pricing strategies or customer agreements. Unfortunately, Dynamics 365 Finance & Operations does not provide out-of-the-box capabilities for this, necessitating further customization.

Microsoft Dynamics 365 Finance & Operations' Small Parcel Shipping feature in version 10.0.29 represents a significant step forward in simplifying and enhancing individual sales order shipping processes, unfortunately we are not yet ready for primetime. Its direct communication with shipping carriers through carrier APIs promises to improve efficiency and reduce errors. However, it's important to recognize that this feature may not fully meet the needs of organizations that require accessorials or wish to implement additional markup to their freight charges.

To leverage the full potential of the Small Parcel Shipping feature and overcome these limitations, organizations will likely need to invest in customization and work closely with their carriers to develop the necessary rate engine. While this introduces additional complexity, it's essential to view this feature as a valuable starting point for enhancing shipping processes, with room for growth and improvement in future updates. Microsoft Dynamics 365 continues to evolve, and staying adaptable to change is key to reaping its long-term benefits in supply chain management.

Rate Engine Requirements and Architectural Best Practices

The heart of Microsoft Dynamics 365 Finance & Operations' Small Parcel Shipping (SPS) feature lies in the rate engine. This critical component acts as an intermediary between your organization's instance of Dynamics 365 and the various shipping carriers you work with. To maximize the efficiency and maintainability of your system, it is crucial to implement the rate engine following best practices.

Middleware API Agnosticism

Best Practice: Implementing the rate engine as a middleware API that is agnostic of individual carrier requirements is a sound architectural choice. This approach ensures that individual carrier API implementations are isolated from the core application, leading to cleaner code and easier maintenance, by achieving the following:

  • Modularity: By separating carrier-specific logic from the core application, you create a modular architecture. This makes it easier to manage changes, updates, and additions to carrier integrations without impacting the entire system.
  • Scalability: An agnostic middleware API can be extended to support additional carriers with minimal effort. This scalability is crucial for businesses that plan to expand their shipping carrier options.
  • Tools: Leverage cloud services like Azure Serverless Functions, Azure Logic App, or Power Automate to build this middleware layer. These tools are well-suited for handling communication between your Dynamics 365 instance and various carriers while providing scalability and robustness.
Shared Signature

Establish a shared signature or interface for carrier integrations within the middleware API. This signature defines the standard set of methods and parameters that each carrier-specific implementation must adhere to providing:

  • Consistency: A shared signature enforces consistency across different carrier integrations. This ensures that all carriers provide essential information and functionality in a standardized way, making it easier for developers to work with multiple carriers.
  • Easier Maintenance: When updates or changes are required, having a shared signature simplifies the process. Developers can make changes in one place, and it will apply to all carriers using that interface.

Extensibility

Design the middleware API with extensibility in mind. This means making it easy to add new carriers or modify existing carrier integrations without having to rewrite significant portions of the code which provides:

  • Reduced Development Time: With an extensible middleware layer, adding support for new carriers becomes a more straightforward task. This reduces development time and costs associated with carrier integration.
  • Future-Proofing: As your business grows or as new carriers emerge in the market, you'll be able to adapt quickly without disrupting your core Dynamics 365 application.

Load Management

Prevent overloading your application object server (AOS) with custom one-off code for each carrier integration. Instead, let the middleware API handle the heavy lifting of communicating with carriers realizing the following benefits:

  • Performance: Offloading carrier-specific operations to the middleware ensures that your AOS remains responsive and performs optimally. Custom code within the AOS should focus on business-specific logic.
  • Isolation of Concerns: Keeping carrier-related code separate from your AOS improves maintainability. If issues arise with a particular carrier integration, they can be addressed within the middleware without affecting other parts of your system.

Designing and implementing a rate engine as an agnostic middleware API with a shared signature for carrier integrations is a best practice that can enhance the efficiency and flexibility of your Microsoft Dynamics 365 Finance & Operations Small Parcel Shipping feature. Utilizing cloud-based services like Azure Serverless Functions, Azure Logic App, or Power Automate can facilitate the development and management of this middleware layer, allowing your organization to adapt to changing carrier requirements and business needs with ease. By following these architectural guidelines, you can ensure that your shipping processes remain scalable, maintainable, and well-aligned with industry best practices.

Exploring Third-Party Solutions: Simplifying Carrier Integrations

For organizations that wish to streamline their shipping processes without delving into the intricacies of directly interfacing with carrier APIs, third-party solutions offer an attractive alternative. Companies like ConnectShip specialize in consolidating the API needs of multiple carriers into a single, comprehensive solution that can be deployed either on-premise or in the cloud.

Third-party solutions like ConnectShip provide a simplified approach to carrier integrations. They abstract the complexities of individual carrier APIs and present a unified interface that is easier to work with.

Carrier Agnosticism: By utilizing these solutions, organizations gain access to a wide range of carriers without needing to create and maintain separate integrations for each one. This carrier agnosticism is invaluable for businesses dealing with multiple carriers.

Reduced Development Overhead: Implementing and maintaining carrier integrations can be resource-intensive. Third-party solutions reduce the development overhead by handling the technical aspects, leaving your IT teams to focus on other critical tasks.

Scalability: As your shipping needs grow or change, third-party solutions often offer the flexibility to adapt without requiring significant adjustments to your existing infrastructure.

ConnectShip: A Leading Example

ConnectShip, as one of the leading providers of multi-carrier shipping solutions, offers a robust platform that simplifies the complexities of carrier integration. Here are some key features and advantages:

  • Carrier Network: ConnectShip maintains a vast network of carriers, allowing your organization to tap into a wide range of shipping options.
  • Cloud and On-Premise Deployment: Whether you prefer cloud-based solutions for scalability or on-premise control, ConnectShip offers flexibility in deployment options.
  • Pre-Built Integrations: ConnectShip has pre-built integrations with a multitude of carriers, eliminating the need for custom development work.
  • Comprehensive Shipping Features: Beyond carrier integrations, ConnectShip often includes a suite of shipping features such as rate shopping, label generation, and shipment tracking.
  • Compliance and Regulatory Support: ConnectShip often provides compliance and regulatory support to ensure your shipments meet the necessary requirements.

Choosing the Right Path

Ultimately, the decision between managing carrier integrations directly or opting for a third-party solution like ConnectShip depends on your organization's specific needs, technical capabilities, and strategic goals. While direct API management provides fine-grained control, it also requires a significant investment in development and maintenance. On the other hand, third-party solutions offer a simplified, all-in-one approach, enabling you to focus on your core business operations.

Whichever path you choose, it's essential to assess your shipping requirements, evaluate the available options, and make an informed decision that aligns with your long-term shipping strategy. With the right approach, you can optimize your shipping processes and provide better service to your customers.

Comments

Popular posts from this blog

Exploring C# Optimization Techniques from Entry-Level to Seasoned Veteran

Lost in Translation: The Risks and Rewards of Programming Language Selection In 2023

The Ultimate KPI: Why Knowledge Sharing, Collaboration, and Creative Freedom Are Critical to Success