# Line Items on Manually Signed Quotes

**URL:** <https://community.hubspot.com/t/line-items-on-manually-signed-quotes/117385>\
**Category:** APIs & Integrations\
**Tags:** object\
**Created:** [October 1, 2024, 2:20am UTC](https://community.hubspot.com/t/line-items-on-manually-signed-quotes/117385 "2024-10-01T02:20:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bortami](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/bortami/32/221350_2.png) [@Bortami](https://community.hubspot.com/u/Bortami)\
**Post date:** [October 1, 2024, 2:20am UTC](https://community.hubspot.com/t/line-items-on-manually-signed-quotes/117385/1 "2024-10-01T02:20:24Z")

</div>

I am doing a GraphQL call to get a quote’s line items, and the line items of all quotes associated to the original quote’s deal. I’m working on an inventory management solution. Each deal can have multiple quotes, which is one of my underlying process issues. This blocker I’m encountering is that when a deal is manually signed it loses all of it’s line items.

Can anyone explain why a manually signed quote loses all its associations to line items?

This is the data I’m getting back.

```lia-code-sample
 "data": {
 "CRM": {
 "quote": {
 "associations": {
 "deal_collection__primary": {
 "items": [
 {
 "associations": {
 "quote_collection__primary": {
 "items": [
 {
 "hs_object_id": 768853130,
 "hs_sign_status": {
 "label": "Quote has been manually signed (via marked as sign feature)",
 "value": "MANUALLY_SIGNED"
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "associations": {
 "line_item_collection__primary": {
 "items": []
 }
 }
 },
 {
 "hs_object_id": 770680221,
 "hs_sign_status": {
 "label": "Quote has completed esign process",
 "value": "ESIGN_COMPLETED"
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "associations": {
 "line_item_collection__primary": {
 "items": [
 {
 "name": "14963999249 - Test Product Type",
 "quantity": 2
 },
 {
 "name": "15129201267 - Test Product #1",
 "quantity": 2
 },
 {
 "name": "15129201267 - Test Product #3",
 "quantity": 1
 },
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 1
 },
 {
 "name": "14899564042 - TEST5",
 "quantity": 1
 }
 ]
 }
 }
 },
 {
 "hs_object_id": 781364256,
 "hs_sign_status": {
 "label": "Quote has been manually signed (via marked as sign feature)",
 "value": "MANUALLY_SIGNED"
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "associations": {
 "line_item_collection__primary": {
 "items": []
 }
 }
 },
 {
 "hs_object_id": 788285090,
 "hs_sign_status": null,
 "hs_status": {
 "label": "Draft",
 "value": "DRAFT"
 },
 "associations": {
 "line_item_collection__primary": {
 "items": [
 {
 "name": "14899564042 - TEST5",
 "quantity": 1
 },
 {
 "name": "15129201267 - Test Product #3",
 "quantity": 1
 },
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 2
 },
 {
 "name": "15129201267 - Test Product #3",
 "quantity": 2
 },
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 1
 }
 ]
 }
 }
 }
 ]
 }
 }
 }
 ]
 },
 "line_item_collection__primary": {
 "items": []
 }
 }
 }
 }
 }
}

```

---

<div class="post-metadata">

**Author:** ![Jaycee\_Lewis](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaycee_lewis/32/61352_2.png) [@Jaycee\_Lewis](https://community.hubspot.com/u/Jaycee_Lewis)\
**Post date:** [October 1, 2024, 4:53pm UTC](https://community.hubspot.com/t/line-items-on-manually-signed-quotes/117385/2 "2024-10-01T16:53:54Z")

</div>

Hey, @Bortami 👋 Thanks you very much for taking the time to put this together. I’d like to invite a few champs to the conversation — @Kevin-C @Teun @ChrisoKlepke have you run into this, or a similar, issue? I’ll also dig a bit in close support tickets to see if I can find any info for us.

Thanks for taking a look! — Jaycee

---

<div class="post-metadata">

**Author:** ![Bortami](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/bortami/32/221350_2.png) [@Bortami](https://community.hubspot.com/u/Bortami)\
**Post date:** [October 2, 2024, 5:48pm UTC](https://community.hubspot.com/t/line-items-on-manually-signed-quotes/117385/3 "2024-10-02T17:48:27Z")

</div>

Upon further testing, no other quote line items are returned except for the inputted quote’s, and even then it’s not until its retrieved later and not in the top line\_items collection.

This is my query:

```lia-code-sample
query fetchDealWithQuotes {
 CRM {
 quote(uniqueIdentifier: "quoteId", uniqueIdentifierValue: "770680221"
 ) {
 associations {
 line_item_collection__primary {
 items {
 name
 quantity
 }
 }
 deal_collection__primary {
 items {
 associations {
 line_item_collection__primary {
 items {
 name
 quantity
 }
 }
 quote_collection__primary {
 items {
 associations {
 line_item_collection__primary {
 items {
 name
 quantity
 }
 }
 }
 hs_status
 hs_sign_status
 hs_object_id
 }
 }
 }
 }
 }
 }
 }
 }
 }

```

```lia-code-sample
"data": {
 "CRM": {
 "quote": {
 "associations": {
 "line_item_collection__primary": {
 "items": []
 },
 "deal_collection__primary": {
 "items": [
 {
 "associations": {
 "line_item_collection__primary": {
 "items": [
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 1
 },
 {
 "name": "15129201267 - Test Product",
 "quantity": 5
 },
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 2
 },
 {
 "name": "15129201267 - Test Prodct",
 "quantity": 5
 },
 {
 "name": "14899564042 - WKLY TEST5",
 "quantity": 1
 }
 ]
 },
 "quote_collection__primary": {
 "items": [
 {
 "associations": {
 "line_item_collection__primary": {
 "items": []
 }
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "hs_sign_status": {
 "label": "Quote has been manually signed (via marked as sign feature)",
 "value": "MANUALLY_SIGNED"
 },
 "hs_object_id": 768853130
 },
 {
 "associations": {
 "line_item_collection__primary": {
 "items": []
 }
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "hs_sign_status": {
 "label": "Quote has completed esign process",
 "value": "ESIGN_COMPLETED"
 },
 "hs_object_id": 770680221
 },
 {
 "associations": {
 "line_item_collection__primary": {
 "items": []
 }
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "hs_sign_status": {
 "label": "Quote has been manually signed (via marked as sign feature)",
 "value": "MANUALLY_SIGNED"
 },
 "hs_object_id": 781364256
 },
 {
 "associations": {
 "line_item_collection__primary": {
 "items": [
 {
 "name": "14899564042 - WKLY TEST5",
 "quantity": 1
 },
 {
 "name": "15129201267 - Test Product",
 "quantity": 5
 },
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 2
 },
 {
 "name": "15129201267 - Test Product",
 "quantity": 5
 },
 {
 "name": "14963999249 - Test Product Type #2",
 "quantity": 1
 }
 ]
 }
 },
 "hs_status": {
 "label": "Approval not needed",
 "value": "APPROVAL_NOT_NEEDED"
 },
 "hs_sign_status": {
 "label": "Quote has completed esign process",
 "value": "ESIGN_COMPLETED"
 },
 "hs_object_id": 788285090
 }
 ]
 }
 }
 }
 ]
 }
 }
 }
 }
 }

```

---

<div class="post-metadata">

**Author:** ![Bortami](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/bortami/32/221350_2.png) [@Bortami](https://community.hubspot.com/u/Bortami)\
**Post date:** [October 23, 2024, 11:41pm UTC](https://community.hubspot.com/t/line-items-on-manually-signed-quotes/117385/4 "2024-10-23T23:41:36Z")

</div>

Following up here after I spent sometime with internal HubSpot engineers and technical resources, just so there’s a record of what the outcome is, in case someone else comes along and is looking for this answer.

What I experienced is expected behavior.

This comes down to how HubSpot treats line items and their relationship between deals and quotes. Here’s the flow: line items get added to a deal, a quote is created. those line items are copied to the quote. the deal’s original line items are deleted and replaced with copies from quote. Each new quote that is generated on a deal will delete the deal’s line items, other quote’s line items, and the new quote is now the source of truth on which line items should be on the deal.

So if you’re tracking line item inventory and need access to the historical data to find the deltas for the math part of inventory tracking, you’re going to need an external database to store the line item history.

Or do change orders on a new deal if the original deal’s quote is signed. 🤣
