Have something to say?

Tell us how we could make the product more useful to you. We URGE you to use the Pelcro Discovery GPT to help structure your thoughts and recommend a feature request that will be quickly digested by our team!

Planned

Email Center: Custom Button Background Color, Header, Footer & Legal Info

πŸ” Problem Statement As a publisher, I can't customize email button colors or add footer content on automated emails, limiting brand and legal compliance control. πŸ’‘ User Story As a publisher, I want automated email buttons to use my account's configured brand color, so my emails stay on-brand. As a publisher, I want to add a custom header and footer to all automated emails, so I can include consistent supplementary content. As a publisher, I want my company's legal name and address shown below the custom footer, so my emails meet legal disclosure requirements. 🎯 Definition of Done (DoD) βœ” Given an account has a brand color configured in site settings, when an automated email is sent, then all buttons in that email use the configured color as their background. βœ” Given a publisher has configured a custom header or footer, when any automated email is sent, then that footer renders below the email body. βœ” Given a publisher's legal name and address are configured, when any automated email is sent, then that info renders below the custom footer. βœ” This change will impact UI and API, specifically the Email Center settings and template rendering engine. βœ” This solution will include the following limitations: [clarify β€” is footer content limited to plain text/links, or does it support images; is legal name/address a new settings field or pulled from an existing one].

Rana Haleem about 24 hours ago

Planned

Support XML invoices formats

Problem Statement Pelcro currently generates invoices as standard PDF documents only. Customers operating in Germany need to issue invoices that comply with local electronic invoicing standards, which require invoices to be delivered in structured, machine-readable formats. Specifically, customers require support for: XRechnung: a standalone XML electronic invoice format used primarily for German public sector invoicing. ZUGFeRD: a hybrid format that combines a standard PDF invoice with embedded XML invoice data. Without support for these standards, customers must manually recreate invoices using third-party tools before submitting them, preventing Pelcro from serving as their complete invoicing solution. User Story As a Pelcro customer issuing invoices in Germany, I want Pelcro to generate invoices in both XRechnung and ZUGFeRD formats, so that I can comply with my customers' electronic invoicing requirements without using external systems. Definition of Done Support generation of invoices in both supported e-invoicing formats: XRechnung (XML) ZUGFeRD (PDF with embedded XML) Generate XML compliant with the supported EN16931/XRechnung specification. Populate all mandatory fields from Pelcro invoice data, including: Invoice number Invoice date Supplier information Buyer information Invoice line items Quantity Unit prices Taxes Discounts (where applicable) Currency Payment terms Invoice totals Support inclusion of the Leitweg-ID (Routing ID) for XRechnung invoices when required. Validate generated XML against the supported specification before delivery. Invoice Generation XRechnung Generate a standalone XML invoice. Allow users to download the XML file. ZUGFeRD Generate the standard PDF invoice. Embed the generated XML into the PDF. The PDF appearance remains unchanged while containing the embedded XML attachment. Platform Allow users to generate/download invoices in the supported format(s). Existing PDF invoice generation continues to work unchanged for customers not using e-invoicing. If applicable, allow accounts to configure their preferred invoice format. Validation XML validates against the supported XRechnung/EN16931 specification. ZUGFeRD PDFs contain valid embedded XML. Invoice values in the XML match those displayed in the PDF. Leitweg-ID is included in XRechnung invoices when configured.

Rana Haleem about 24 hours ago

Planned

Support fallback to live agents in Voice Agent + customize greeting message

Problem Statement The AI Voice Agent currently does not support escalation or transfer to a live support agent. When the AI cannot resolve a customer’s request, the caller has no clear way to continue receiving assistance. Clients need a configurable option within the AI Customer Support settings to define the phone number or routing destination used for live-agent transfers. User Story As a client using the AI Voice Agent, I want to configure a live-agent routing number, So that callers can be transferred to my support team when the AI cannot resolve their request or when they ask to speak with a person. Definition of Done Configure greeting message in the AI settings example "Hello..." Add a Live Agent Fallback section under the AI Customer Support settings. Allow clients to enable or disable live-agent transfer. Allow clients to enter and save a valid phone number or routing destination. Define when the transfer should be triggered, including: The caller explicitly asks to speak with a live agent. The AI cannot understand or resolve the request after a defined number of attempts. The requested action is not supported by the AI Voice Agent. Before transferring, the AI informs the caller that they are being connected to a live agent. If the transfer fails or the number is unavailable, the AI provides a clear fallback message. Validate the entered phone number before saving. Display the configured routing number in the settings and allow clients to update or remove it. Record transfer attempts and outcomes in the call logs.

Rana Haleem about 24 hours ago

Planned

Vendor Assignment Change History

Problem Statement Pelcro does not currently provide a clear way to track the history of address assignments between vendors. When addresses are temporarily reassigned from one vendor to another, users cannot easily identify which addresses originally belonged to the unavailable vendor or restore the previous assignments when that vendor returns. This creates operational risk and requires users to rely on manual records. User Story As an Operations Manager, I want to view vendor assignment changes, so that I can restore the correct addresses to their previous vendor without manually identifying them. Definition of Done Vendor profile pages include an Assignment History section. Every individual and bulk vendor reassignment creates an assignment-history record. The record includes: Previous vendor New vendor Affected address IDs Number of addresses Date and time User or AI Agent that performed the action Optional reason Unique operation ID Users can view the list of addresses affected by each operation and export it

Rana Haleem about 24 hours ago

Planned

Support Bulk Changes for Vendors assignment through AI agent

Problem Statement Managing vendor assignments at scale is currently a manual and time-consuming process. When delivery areas change or operational adjustments are needed, users must reassign addresses individually from one vendor to another. This becomes inefficient for large numbers of addresses and increases the risk of errors. Providing bulk vendor reassignment through the AI Agent will enable users to update vendor assignments quickly using natural language commands, improving operational efficiency and reducing manual effort. User Story As an Operations Manager, I want to bulk reassign addresses from one vendor to another using the AI Agent, so that I can efficiently update vendor assignments without manually editing each address. Definition of Done AI Agent The AI Agent understands bulk vendor reassignment requests using natural language (e.g., "Move all addresses assigned to Vendor A to Vendor B."). The AI Agent identifies: Source vendor. Destination vendor. Scope of addresses to be reassigned (all or based on provided criteria). Before executing the change, the AI Agent presents a summary including: Source vendor. Destination vendor. Number of affected addresses. The AI Agent requires user confirmation before applying the changes. Vendor Assignment Upon confirmation, all matching addresses are reassigned from the source vendor to the destination vendor. Only the vendor assignment is updated; all other address data remains unchanged. Existing validation and permission checks continue to apply. If the destination vendor does not exist, the AI Agent informs the user and no changes are made. If no matching addresses are found, the AI Agent informs the user and no changes are made.

Rana Haleem about 24 hours ago

Planned

Introduce redelivery management

Problem Statement The platform currently does not support a clear notion of redelivery for missed, failed, or damaged shipments. When a shipment needs to be sent again, there is no standardized way to: Mark the original fulfillment as requiring redelivery. Identify all subscriptions that need a replacement shipment. Generate a fulfillment list specifically for redeliveries. Track whether the redelivery was completed. Distinguish the replacement shipment from the original fulfillment. As a result, redeliveries must be managed manually outside the normal fulfillment workflow, increasing the risk of missed requests, duplicate shipments, and inaccurate reporting. User Story As an operations administrator, I want to mark a shipment as requiring redelivery on the subscription details and generate a fulfillment list containing all pending redeliveries, so that replacement shipments can be processed, tracked, and completed through the standard fulfillment workflow. Definition of Done Redelivery Status A fulfillment or shipment associated with a subscription can be marked as requiring redelivery. The redelivery indicator includes a clear status, such as: Redelivery Required Redelivered Redelivery Cancelled SIMILAR TO SHIPMENTS & RETURNS FLOW > SIMILAR TO RETURNS Redelivery reason. Notes. Quantity to redeliver. Original fulfillment reference. Fulfillment List Filtering Lists can be filtered to show subscriptions/ shipments with a pending redelivery. Administrators can generate a dedicated fulfillment list for all eligible redeliveries. The original fulfillment record remains unchanged for historical accuracy. Approving the replacement fulfillment updates the redelivery request to Redelivered. Should be logged under the sub details the redelivery changes. Duplicate Prevention Administrators receive a warning or validation message when a replacement fulfillment already exists.

Rana Haleem about 24 hours ago

Planned

Enhance bundle tops report

Problem statement Carriers deliver bundles of papers along a route, in a specific walk (delivery) sequence. Today Pelcro's "Bundle Top" is a generic label sheet β€” customer name, address, product, date, quantity β€” with no route grouping, no delivery-sequence ordering, and no carrier context. User story As a circulation/fulfillment operator, I want to export a Bundle Top per fulfillment that is grouped by carrier route and ordered by delivery sequence, with each subscriber's delivery details and per-route totals, so that each carrier receives an accurate, walk-ordered manifest of exactly what to deliver and how many bundles to prepare. Supporting: As a carrier, I want my route's stops listed in the order I drive them, with copy counts and delivery instructions, so I can deliver without re-sorting. DOD: Part 1 β€” Available now (just add to the report) Pelcro already captures this information β€” the first version of the report simply organizes and presents it. No new setup or development beyond the report itself. What the PDF shows Carrier name & phone Total draws Carrier route Delivery sequence (the order the carrier drives the route) Delivery instructions Delivery date Subscriber name Subscriber delivery address Subscriber phone Product / publication Number of copies How the report behaves One file per fulfillment, covering all routes. Each route shows a subtotal (total copies); the file ends with an overall total. The report only includes the carriers already selected for that fulfillment. Each subscriber should appear in one separate page pdf (see example attached)

Rana Haleem 1 day ago

In Planning

Open API coupon validation

Pelcro today returns a generic invalid result for coupon validation across many distinct business rules (expired, wrong plan, segment, redemption limits, etc.), with inconsistent HTTP statuses and free-text messages whose location varies by case. To support our checkout flow, we need a stable, enumerated failure_reason_code on every coupon validation failure β€” order preview, subscription commit, and campaign-attached coupons (coupon.valid: false) β€” returned with one documented HTTP status at a fixed body location, identifying the coupon as the failing input, plus structured failure_reason_detail for support and ops. We will map codes to subscriber-facing copy and will manage any abuse/enumeration messaging on its side β€” please do not collapse distinct failure reasons in the API. Please provide a published reason-code dictionary, sample error payloads for each code, and confirmation that sticky re-validation on plan change returns plan-eligibility failures distinctly from expired/unknown codes. Attached is a more complete requirements document. Please review.

Mike Gilbert 1 day ago

1

2FA via Email Verification Code at Login

Problem Statement Client sites currently authenticate end users with a single factor (password only), leaving accounts vulnerable to takeover if credentials are compromised. There is no email-based verification step at login to confirm the person signing in is the legitimate account owner. User Story As an end user logging into a client's site, after I enter my correct credentials I want to receive a one-time verification code at the email address on my account, and I should not be able to access or interact with the site until I've entered that code, so that my account stays protected even if my password is compromised. Definition of Done On successful password validation, a one-time verification code is generated and sent to the email address on record for the account (not a user-entered address). The user is shown a verification screen and cannot access any part of the client site until the code is confirmed β€” enforced via a limited "pending verification" cookie/session state that grants no access to protected routes, APIs, or content. The full authenticated session cookie is only issued after the code is confirmed. Codes are single-use, numeric, cryptographically random, and expire after a short window (e.g. 10 minutes). Requesting a new code invalidates any previously issued code. Code requests/resends are rate-limited, and verification attempts per code are capped (e.g. 5 tries) with escalating lockout/backoff to prevent brute-forcing. Verification attempts (success/failure, timestamp, IP) are logged for audit and abuse detection, without storing the code itself in plaintext logs. Users have a clear resend option and guidance if the email doesn't arrive, plus a support fallback path. The unverified/pending state cannot be bypassed via direct URL access, deep links, or stored client-side state. SMS, authenticator apps (TOTP), and changes to the core password authentication flow are explicitly out of scope.

Galal Abdo 7 days ago

Expose User Registration Date in Pelcro.user.read() SDK method Response

πŸ”Problem Statement We are implementing analytics improvements that rely on the data returned by Pelcro.user.read(). While subscription-related dates are available, the user's registration date is not returned, preventing us from including it in our data layer for analytics and tracking purposes. πŸ’‘User Story We want the user's registration date to be returned by Pelcro.user.read() SDK method so that we can include it in our analytics and tracking implementation alongside the existing subscription dates. 🎯Definition of Done βœ” Pelcro.user.read()SDK method returns the user's registration date. βœ”The registration date is returned in a consistent YYYY-MM-DD format.

Nada Shoukry 7 days ago

Available

[Merged] Add "Set as Default Payment Method" Option to the Default UI

[Merged into We want an existing card to be automatically marked as the default during a new subscription purchase] πŸ”Problem Statement Currently, when a customer adds a new payment method through the Default UI, it is not automatically set as the default payment method. As a result, customers must navigate to their saved payment methods and manually change the default before they can remove the old card. This creates unnecessary friction and can lead to failed renewals if the old default payment method remains in place. πŸ’‘User Story As a customer updating my payment method, I want the option to set my newly added payment method as the default during the add payment method flow, so that I don't have to update it separately afterward. 🎯Definition of Done βœ” Add a "Set as default payment method" checkbox to the Default UI payment method modal. βœ”When selected, the newly added payment method is immediately set as the customer's default payment method after it is successfully added.

Nada Shoukry 12 days ago

Allow Payment Method Deletion When Currently Blocked (manual-renewal & only-method-on-file)

πŸ” Problem Statement Customers and admins cannot delete a saved payment method in situations where keeping it provides no functional benefit and blocks legitimate requests: (a) when the method is tied only to manual-renewal subscriptions β€” which do not process recurring payments, so requiring a replacement is pointless β€” and (b) when it is the only payment method on file (including ACH), which blocks admins from honouring customer data-removal requests. πŸ’‘ User Story As a customer or Pelcro admin, I want to remove a saved payment method in these currently-blocked scenarios without being forced to add a replacement, so that I can clean up unused methods and fulfil data-removal requests. 🎯 Definition of Done (DoD) βœ” Allow deletion of a payment method tied only to manual-renewal subscription(s) without requiring a replacement. βœ” Allow admin removal of the only saved payment method on an account (including ACH); any linked subscriptions transition to manual/invoice billing. βœ” This change will impact UI / API β€” the payment-method management UI and the payment-method resource (Core API).

Nada Shoukry 12 days ago

2

Planned

Improve Searching for Members in the Membership View

We extensively use Memberships in our organizations. Our membership sales team reports that it is difficult to find specific members underneath a membership subscription. This makes it difficult to remove members when requested by the owner of the subscription (like when an employee leaves the company or the employee no longer needs the subscription entitlements due to a role change). For example, if a given subscription has more than 25 members, one must scroll through the members one page at a time until the member can be located. That is very cumbersome. A couple of improvements we would like to see: Add a search function to the subscription members view. https://www.pelcro.com/admin/5118/subscription/2303764/members Allow members to be deleted from the global memberships view. https://www.pelcro.com/admin/5118/memberships Removing Members from the memberships view should not delete the Customer Record as it is required for other purposes Happy to provide additional context if needed.

Manish Patel 14 days ago

1

Standardize Field Naming Across Export Files

πŸ”Problem Statement Export files currently use inconsistent field names for the same data across different areas of the platform. For example, the subscription ID is labeled "ID" in Subscriptions exports, the customer ID is labeled "ID" in Customers exports, and "user_ID" in other exports. This inconsistency creates unnecessary complexity for customers building integrations and automations with tools such as Zapier and other external systems. πŸ’‘User Story As a Pelcro administrator integrating exported data with external systems, I want consistent field names across all exports so that I can build and maintain reliable automations without needing export-specific field mappings. 🎯Definition of Done βœ” Standardize field names for identical data across all export types (e.g., customer ID, subscription ID, invoice ID). βœ” Ensure existing and newly introduced exports follow the same naming convention. βœ” Update the export documentation to reflect the standardized field names.

Nada Shoukry 19 days ago

Add Modal Close Tracking Support

Problem Statement Currently, there is no reliable way to track when users close a Pelcro modal, making it difficult to measure user interactions and modal abandonment. User Story As an integrator, I want a reliable way to detect when a Pelcro modal is closed so that I can accurately track user behavior and trigger custom analytics. Definition of Done (DoD) Add a unique ID to the modal close button to support client-side tracking. Emit a pelcroModalClosed SDK event whenever a Pelcro modal is closed. Ensure the event is fired regardless of whether the modal is closed via the close button, Escape key, or clicking outside the modal (where applicable). Document the new ID and SDK event for developers. Verify the event is emitted consistently across all Pelcro modals.

Rana Haleem 21 days ago

Allow Existing Pending Users to Be Set to Active During Corporate License Reinstatement

Problem: Corporate support team noticed that when you edit a user record in Pelcro, it tells you if their account is Pending or Active and it gives you the option of editing a Pending account to Active. Does that mean if we do this they don't have to activate their account and they will have full premium access? That would be very helpful fix when it comes to re-onboarding members who had a prior expired license after they reinstate their license. The changing a user from Pending to Active is only available when adding a new user a membership list, so this won't really solve our problem. We want those users to create a password with the activation email. Ideally we need to be able to change an existing pending user to active when reinstating an expired license after the company signs up again, Right now we have to tell users to log out and in again that had prior active usage to regain access. I guess if they were pending they would still need to activate their account one way or another to gain access. It would be nice if we can make them active again for existing users that were on the prior license that renewed after expiration date. This is a known issue that has yet to be resolved I believe.

Nikisha Bolloju 21 days ago

1

Customer Deletion Audit Trail

πŸ” Problem Statement As a publisher, we need greater visibility into customer deletion events. When a customer record is deleted, we currently have no way to determine who performed the deletion, when it occurred, or why it happened, making it difficult to audit changes and investigate issues. πŸ’‘ User Story As a publisher, I want customer deletion events to be logged and accessible so that I can identify who deleted a customer record, when it was deleted, and any available context, allowing me to effectively audit changes and investigate inquiries. 🎯Definition of Done βœ” Customer deletion events are recorded in the audit log whenever a customer record is deleted. βœ” Each audit log entry includes, at a minimum, the deleted customer, the user or system that performed the deletion, the timestamp, and the deletion method (manual/API). If a deletion reason is available, it is also captured. βœ”Authorized users can view and search customer deletion events through the platform's audit logs (or another designated location), with retention aligned to the platform's audit log policy.

Nada Shoukry 21 days ago

In Planning

Configure Price Quote (CPQ)

πŸ” Problem Statement As a media ad sales rep, I manually assemble advertising quotes across disconnected tools, which causes slow turnaround, pricing errors, and lost deals. πŸ’‘ User Story As an ad sales rep, I want to describe a deal in natural language and have the AI assemble a structured quote, so that I can generate accurate quotes in minutes instead of hours. As an ad sales rep, I want to export the finalized quote as a PDF and email it to the prospect, so that I can close without leaving the tool. 🎯 Definition of Done (DoD) βœ” Given a chat session in the quote UI, when the rep describes ad products, quantities, and terms, then the AI populates a structured quote draft via the Quoting API and renders editable line items. βœ” Given a populated quote draft, when the rep confirms it, then the system generates a PDF and sends it to the prospect's email through the Quoting API. βœ” Given the AI lacks a required field (rate card, term, customer), when generating the quote, then it prompts the rep for the missing input before finalizing.

Michael Ghattas 21 days ago

Done

AI Agent - Integrate with Customer Activity

Problem Statement Currently, the AI Agent is not integrated with the Customer Activity view, making it harder for users to quickly understand customer behavior, recent actions, or potential issues without manually reviewing activity logs. User Story As a Pelcro user, I want the AI Agent to be integrated with Customer Activity so that I can quickly ask questions, summarize customer behavior, and understand key events without manually analyzing the full activity history. Definition of Done (DoD) Allow users to ask questions about the selected customer's activity and history. Enable the AI to summarize recent customer activity and highlight key events. Allow the AI to answer contextual questions based on the customer's activity (e.g., subscription changes, payments, renewals, cancellations, login activity, etc.). Display AI responses within the Customer Activity experience without requiring users to navigate away. Ensure the AI only has access to the selected customer's data and respects existing user permissions. Maintain a consistent UI/UX with the rest of the Pelcro AI experience.

Rana Haleem 21 days ago

In Progress

Support SEPA payment method

Problem Statement Currently, Pelcro does not support SEPA Direct Debit for the EU for the UK as payment methods. This prevents businesses from accepting bank account payments in these regions, limiting payment flexibility and reducing the ability to serve customers who prefer or require direct debit over card payments. User Story As a business, I want to be able to support SEPA in the EU and BACS in the UK so that I can accept bank accounts as a source of payment method Definition of Done Pelcro supports SEPA Direct Debit as a payment method. Admins can enable or disable SEPA from payment settings. Customers can add a SEPA bank account as a payment method during checkout. Customers can use SEPA for subscription and invoice payments. SEPA payment method details are securely stored and displayed on the customer profile. Payment statuses are handled correctly, including pending, succeeded, failed, and refunded.

Rana Haleem 21 days ago