0

Update Customer

by
Published Jun 6, 2022

Updates a customer. [See docs here](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer#full-update-a-customer)

Script quickbooks Verified

The script

Submitted by hugo697 Bun
Verified 323 days ago
1
import QuickBooks from "node-quickbooks";
2

3
type Quickbooks = {
4
  realmId: string;
5
  token: string;
6
  isSandBox: boolean;
7
};
8

9
export async function main(
10
  resource: Quickbooks,
11
  customer: {
12
    sparse: boolean;
13
    Id?: string;
14
    SyncToken?: string;
15
    DisplayName?: string;
16
    Title?: string;
17
    GivenName?: string;
18
    MiddleName?: string;
19
    Suffix?: string;
20
    FamilyName?: string;
21
    PrimaryEmailAddr?: {
22
      Address?: string;
23
    };
24
    ResaleNum?: string;
25
    SecondaryTaxIdentifier?: string;
26
    ARAccountRef?: {
27
      value: string;
28
      name?: string;
29
    };
30
    DefaultTaxCodeRef?: {
31
      value: string;
32
      name?: string;
33
    };
34
    PreferredDeliveryMethod?: string;
35
    GSTIN?: string;
36
    SalesTermRef?: {
37
      value: string;
38
      name?: string;
39
    };
40
    CustomerTypeRef?: {
41
      value: string;
42
    };
43
    Fax?: string;
44
    BusinessNumber?: string;
45
    BillWithParent?: boolean;
46
    CurrencyRef?: {
47
      value: string;
48
      name?: string;
49
    };
50
    Mobile?: string;
51
    Job?: boolean;
52
    BalanceWithJobs?: number;
53
    PrimaryPhone?: {
54
      FreeFormNumber?: string;
55
    };
56
    OpenBalanceDate?: string;
57
    Taxable?: boolean;
58
    AlternatePhone?: {
59
      FreeFormNumber?: string;
60
    };
61
    MetaData?: {
62
      CreateTime?: string;
63
      LastUpdatedTime?: string;
64
    };
65
    ParentRef?: {
66
      value: string;
67
      name?: string;
68
    };
69
    Notes?: string;
70
    WebAddr?: {
71
      URI?: string;
72
    };
73
    Active?: boolean;
74
    CompanyName?: string;
75
    Balance?: number;
76
    ShipAddr?: {
77
      Id?: string;
78
      PostalCode?: string;
79
      City?: string;
80
      Country?: string;
81
      Line1?: string;
82
      Line2?: string;
83
      Line3?: string;
84
      Line4?: string;
85
      Line5?: string;
86
      Lat?: string;
87
      Long?: string;
88
      CountrySubDivisionCode?: string;
89
    };
90
    PaymentMethodRef?: {
91
      value: string;
92
      name?: string;
93
    };
94
    IsProject?: boolean;
95
    Source?: string;
96
    PrimaryTaxIdentifier?: string;
97
    GSTRegistrationType?: string;
98
    PrintOnCheckName?: string;
99
    BillAddr?: {
100
      Id?: string;
101
      PostalCode?: string;
102
      City?: string;
103
      Country?: string;
104
      Line1?: string;
105
      Line2?: string;
106
      Line3?: string;
107
      Line4?: string;
108
      Line5?: string;
109
      Lat?: string;
110
      Long?: string;
111
      CountrySubDivisionCode?: string;
112
    };
113
    FullyQualifiedName?: string;
114
    Level?: number;
115
    TaxExemptionReasonId?: number;
116
  }
117
) {
118
  const qbo = new QuickBooks("", "", resource.token, false, resource.realmId, resource.isSandBox, true, null, "2.0");
119

120
  return new Promise((resolve, reject) => {
121
    qbo.updateCustomer(customer, function (err: any, result: any) {
122
      if (err) {
123
        reject(err);
124
      } else {
125
        resolve(result);
126
      }
127
    });
128
  });
129
}
130