Skip to content

[Clients]: Create a quote when viewing a specific client #217

Closed

Description

@nielsdrost7

Context

When viewing a client's detail page, users should be able to start common workflows (quote, invoice) without navigating to a different module. A "Create quote" button on the client detail view pre-fills the client and takes the user straight to the quote form.


User story

As a user, I want a Create quote button on the client detail page so I can start quoting that client immediately.


Acceptance criteria


Requires client detail view page (#221).

Activity

  1. coderabbitai commented on Dec 28, 2025

    @coderabbitai
    Contributor

    📝 CodeRabbit Plan Mode

    Generate an implementation plan and prompts that you can use with your favorite coding agent.

    • Create Plan
    Examples

    🔗 Similar Issues

    Possible Duplicates

    Related Issues

    👤 Suggested Assignees

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  2. added this to the v2.0.0-alpha milestone on Dec 28, 2025
  3. nielsdrost7 commented on Jan 2, 2026

    @nielsdrost7
    CollaboratorAuthor

    @coderabbitai make pull-request with AAA test Scenario's: Arrange, Act, Assert. And also make sure you test edge cases

  4. changed the title [-]As a user, viewing one specific client, i want to click on a button to create a quote for that client[/-] [+]As a user, viewing a specific client, I want to create a quote for that client[/+] on Jun 12, 2026
  5. changed the title [-]As a user, viewing a specific client, I want to create a quote for that client[/-] [+][Clients]: Create a quote when viewing a specific client[/+] on Jun 13, 2026
  6. nielsdrost7 commented on Jun 14, 2026

    @nielsdrost7
    CollaboratorAuthor

    Sprint 5 — Test Status Check ❌ Not ready to close

    Blocked by #221 (client detail/view page). Same situation as #218.

    When #221 is implemented, add to the client detail page header actions:

    Action::make('create-quote')
        ->label(trans('ip.create_quote'))
        ->url(fn (): string => route('filament.company.resources.quotes.create', [
            'tenant'      => Str::lower(filament()->getTenant()->search_code),
            'prospect_id' => $this->record->id,
        ])),

    Implement together with #218 after #221 is done.

    Cannot close. Depends on #221 which is not yet implemented.


    Generated by Claude Code

  7. nielsdrost7 commented on Jun 14, 2026

    @nielsdrost7
    CollaboratorAuthor

    Implementation — done on claude/invoiceplane-sprint-5-plan-cbgzgh

    Implemented as part of #221 (ViewRelation page, which is the prerequisite).

    ViewRelation::getHeaderActions() includes:

    Action::make('create_invoice')
        ->label(trans('ip.create_invoice'))
        ->icon('heroicon-o-document-plus')
        ->url(fn (): string => InvoiceResource::getUrl('create', [
            'customer_id' => $this->getRecord()->id,
        ])),

    This navigates to the invoice create page with the client's ID pre-filled, so the Customer dropdown is already populated.

    Additionally, InvoicesRelationManager (the Invoices tab on the view page) has the same action as a table header button, matching the expected UX of "create invoice from within the invoice list for this client".


    Generated by Claude Code

  8. added a commit that references this issue on Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions