PwsClientDetail

Overview


This structure contains the complete set of information about a client. The structure is used both to retrieve detailed client information and to pass information about a client back to the server to get updated.

Format


PwsClientDetail
  • PwsClientDetail
    • ClientId: Int32
    • ClientNumber: String (20)
    • ClientUid: Int64
    • ClientName: String (50)
    • InactiveFlag: Boolean
    • ParentClientIdentity: PwsClientRef
    • Address: PwsAddress
    • BillingCycleIdentity: PwsBillingCycleRef
    • BillingInstructions: String (1000)
    • ClientMessage: String (4000)
    • ClientMessagePlain: String (4000)
    • InheritAddressFlag: Boolean
    • InheritBillingCycleFlag: Boolean
    • InheritBillingInstructionsFlag: Boolean
    • InheritClientMessageFlag: Boolean
    • InheritInvoiceContentFlag: Boolean
    • InheritInvoiceScopeFlag: Boolean
    • InheritInvoiceTemplateFlag: Boolean
    • InheritPaymentTermFlag: Boolean
    • InheritPurchaseOrderNumberFlag: Boolean
    • InheritStandardRatesFlag: Boolean
    • InheritTimeBillingTypeFlag: Boolean
    • InvoiceContent: String (1)
    • InvoiceScope: String (1)
    • InvoiceTemplateIdentity: PwsInvoiceTemplateRef
    • NewClientNumber: String (20)
    • PaymentTermIdentity: PwsPaymentTermRef
    • PurchaseOrderNumber: String (50)
    • StandardBillingAdjustedDiscountPercent: Double
    • StandardContractDiscountPercent: Double
    • StandardRateCardIdentity: PwsRateCardRef
    • TimeBillingType: String (1)
    • Timestamp: String
    • UserDefinedFields: PwsUserDefinedFieldDetail [0..100]
    • InheritInvoiceEmailSettingsFlag: Boolean
    • InvoiceEmailSettings: PwsInvoiceEmailSettings
    • InheritRenderReceiptsFlag: Boolean
    • RenderReceiptsFlag: Boolean
    • AutoApplyAvailableBalanceFlag: Boolean
    • InheritAutoApplyAvailableBalanceFlag: Boolean
    • InheritTaxTypesFlag: Boolean
    • TaxType1Identity: PwsTaxTypeRef
    • TaxType2Identity: PwsTaxTypeRef
    • TaxType3Identity: PwsTaxTypeRef
    • InheritRenderedInvoiceFormatFlag: Boolean
    • RenderedInvoiceFormat: String(1)
    • Prefix: String(15)

Elements


Element

Data Type

Required?

Default

Description

Sample Data

ClientId

Int32

No


The client Id is a unique identifier for a client. For internal use only.


ClientNumber

String (20)

One of the ClientNumber or ClientUid is required


The client number is a unique identifier for a client. If not specified, this field will be auto generated.

C000158


ClientUid

Int64

See ClientNumber


The client Uid is a unique and immutable identifier for a client.

1152921504607017770


ClientName

String (50)

On Insert: Yes

On Update: No


The client name is a unique identifier for a client.

Projector PSA

InactiveFlag

Boolean

On Insert: No

On Update: No

 false

If set to 'true', the client is marked as inactive.

true/false

ParentClientIdentity

PwsClientRef

On Insert: No

On Update: No


The identity of this client's parent, if any. Circular relationships are not permitted (a client cannot be it's own parent, nor can a client's parent refer back to the client as it's parent, and so forth).


Address

PwsAddress

On Insert: No

On Update: No 


The billing address for the client.


BillingCycleIdentity

PwsBillingCycleRef

On Insert: No

On Update: No 


The billing cycle set up for the client.


BillingInstructions

String (1000)

On Insert: No

On Update: No 


The billing instructions associated with the client.

Please bill this client at the end of each month.

ClientMessage

String (4000)

On Insert: No

On Update: No  


A per-invoice message to appear on the invoice. This may include RTF markup. 

We appreciate your business!

ClientMessagePlain

String (4000)

On Insert: No

On Update: No  


A per-invoice message to appear on the invoice. This is in plain text format.

We appreciate your business!


InheritAddressFlag

Boolean

On Insert: No

On Update: No  

 false

If set to 'true', the address is inherited from the parent client (if any). Please see Inheritance for more information.

false


InheritBillingCycleFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the billing cycle is inherited from the parent client (if any). Please see Inheritance for more information.

false

InheritBillingInstructionsFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the billing instructions is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritClientMessageFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the client message is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritInvoiceContentFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the invoice content is inherited from the parent client (if any). Please see Inheritance for more information.

false


InheritInvoiceScopeFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the invoice scope is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritInvoiceTemplateFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the invoice template is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritPaymentTermFlag

Boolean

On Insert: No

On Update: No  

false

If set to 'true', the payment terms are inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritPurchaseOrderNumberFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the purchase order number is inherited from the parent client (if any). Please see Inheritance for more information.

false


InheritStandardRatesFlag

Boolean

On Insert: No

On Update: No

true

If set to 'true', the standard rates flag is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritTimeBillingTypeFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the time billing type is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InvoiceContent

String (1)

On Insert: Yes

On Update: No

 B

The invoice content associated with the client.

"B" for time and cost together

"S" for separately 

B

InvoiceScope

String (1)

On Insert: Yes

On Update: No

 E

The invoice content associated with the client.

"C" for client

"N" for purchase order number

"E" for engagement

"P" for project 

E


InvoiceTemplateIdentity

PwsInvoiceTemplateRef

On Insert: No

On Update: No


The template to use for rendering invoices.


NewClientNumber

String (20)

On Insert: No

On Update: No


This is used by PwsSaveClient to support re-numbering clients. You can both identify a client by client number and modify the client number by specifying the original client number in ClientNumber and the new value in NewClientNumber. NewClientNumber will always be null in responses from PwsGetClient. Note that the client number may only be changed if numbering for clients is configured as Manual or Hybrid.

On Insert, if both the ClientNumber and NewClientNumber are specified, the NewClientNumber will take precedence.


PaymentTermIdentity

PwsPaymentTermRef

On Insert: No

On Update: No


The payment terms set up for the client.


PurchaseOrderNumber

String (50)

On Insert: No

On Update: No


The purchase order number for the client.

P-001

StandardBillingAdjustedDiscountPercent

Double

On Insert: No

On Update: No


The standard billing adjusted discount percent for the client.

5

StandardContractDiscountPercent

Double

On Insert: No

On Update: No


The standard contract discount percent for the client.

10

StandardRateCardIdentity

PwsRateCardRef

On Insert: Yes

On Update: No


The standard rate card identity for the client.


TimeBillingType

String (1)

On Insert: No

On Update: No

H

The time billing type:

"D" for daily

"H" for hourly 

H

Timestamp

String

On Insert: No

On Update: No


The row version in Base64 format.

AAAAAA97WG8=

UserDefinedFields

PwsUserDefinedFieldDetail [0...100]

On Insert: Dependent on UDF Definition

On Update: No


The client user defined field values associated with this client.


InheritInvoiceEmailSettingsFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the invoice email settings is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InvoiceEmailSettings

PwsInvoiceEmailSettings

On Insert: No

On Update: No


The settings that control whether email distribution of invoices is enabled for this client, and if so, who the sender and recipients of the email are, the subject line, the email template and other related settings that are in effect.


InheritRenderReceiptsFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the render receipts settings is inherited from the parent client (if any). Please see Inheritance for more information.

false


RenderReceiptsFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', receipts will be rendered on the invoice.

false


AutoApplyAvailableBalanceFlag

Boolean

On Insert: No

On Update: No

false

For clients with a pre-payment balance, if set to "true" automatically apply the balance to new invoices. 

false


InheritAutoApplyAvailableBalanceFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the auto apply available balances settings is inherited from the parent client (if any). Please see Inheritance for more information. 

false


InheritTaxTypesFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the tax types are inherited from the parent client (if any). Please see Inheritance for more information.

false


TaxType1Identity

PwsTaxTypeRef

On Insert: No

On Update: No


The tax types that apply for invoices under this client.


TaxType2Identity

PwsTaxTypeRef

On Insert: No

On Update: No


The tax types that apply for invoices under this client.


TaxType3Identity

PwsTaxTypeRef

On Insert: No

On Update: No


The tax types that apply for invoices under this client.


InheritRenderedInvoiceFormatFlagBoolean

On Insert: No

On Update: No


If set to true, inherits RenderedInvoiceFormat from the parent.false
RenderedInvoiceFormatString (1)

On Insert: No

On Update: No


Rendered Invoice Format:

"P" for PDF

"X" for Excel XLS

"C" for CSV


PrefixString (15)

On Insert: No

On Update: No


The prefix associated with the client.PPSA


Usage Example(s)

PwsClientDetail
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsGetClientResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsGetClientResult xmlns:a="http://projectorpsa.com/DataContracts/Responses/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:PwsMessage>
                  <b:AdditionalErrorText>Message 136: This request was executed against the QA [appqa.projectorpsa.com] environment.</b:AdditionalErrorText>
                  <b:ErrorCode>NonProductionEnvironment</b:ErrorCode>
                  <b:ErrorNumber>136</b:ErrorNumber>
                  <b:ErrorText>This web service request was executed against a non-production instance of Projector.</b:ErrorText>
                  <b:Type>Information</b:Type>
                  <b:ReferenceId1 i:nil="true"/>
                  <b:ReferenceId2 i:nil="true"/>
               </b:PwsMessage>
            </Messages>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2023-11-06T18:17:57.6501708Z</ServerTimestampUtc>
            <a:Clients xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:PwsClientElement>
                  <b:ClientDetail>
                     <b:ClientId i:nil="true"/>
                     <b:ClientNumber>C000158</b:ClientNumber>
                     <b:ClientUid>1152921504607017770</b:ClientUid>
                     <b:ClientName>Projector PSA</b:ClientName>
                     <b:InactiveFlag>false</b:InactiveFlag>
                     <b:ParentClientIdentity i:nil="true"/>
                     <b:Address>
                        <b:AddressLine1>98 N Washington Street</b:AddressLine1>
                        <b:AddressLine2 i:nil="true"/>
                        <b:Attention i:nil="true"/>
                        <b:City>Boston</b:City>
                        <b:CompanyName>Projector PSA</b:CompanyName>
                        <b:Country>United States</b:Country>
                        <b:StateOrProvince>MA</b:StateOrProvince>
                        <b:ZipOrPostalCode>02114</b:ZipOrPostalCode>
                     </b:Address>
                     <b:BillingCycleIdentity>
                        <b:BillingCycleId i:nil="true"/>
                        <b:BillingCycleName>Monthly</b:BillingCycleName>
                        <b:BillingCycleUid>1152921504606853180</b:BillingCycleUid>
                     </b:BillingCycleIdentity>
                     <b:BillingInstructions i:nil="true"/>
                     <b:ClientMessage i:nil="true"/>
                     <b:ClientMessagePlain i:nil="true"/>
                     <b:InheritAddressFlag>false</b:InheritAddressFlag>
                     <b:InheritBillingCycleFlag>false</b:InheritBillingCycleFlag>
                     <b:InheritBillingInstructionsFlag>false</b:InheritBillingInstructionsFlag>
                     <b:InheritClientMessageFlag>false</b:InheritClientMessageFlag>
                     <b:InheritInvoiceContentFlag>false</b:InheritInvoiceContentFlag>
                     <b:InheritInvoiceScopeFlag>false</b:InheritInvoiceScopeFlag>
                     <b:InheritInvoiceTemplateFlag>false</b:InheritInvoiceTemplateFlag>
                     <b:InheritPaymentTermFlag>false</b:InheritPaymentTermFlag>
                     <b:InheritPurchaseOrderNumberFlag>false</b:InheritPurchaseOrderNumberFlag>
                     <b:InheritStandardRatesFlag>true</b:InheritStandardRatesFlag>
                     <b:InheritTimeBillingTypeFlag>false</b:InheritTimeBillingTypeFlag>
                     <b:InvoiceContent>B</b:InvoiceContent>
                     <b:InvoiceScope>E</b:InvoiceScope>
                     <b:InvoiceTemplateIdentity i:nil="true"/>
                     <b:NewClientNumber i:nil="true"/>
                     <b:PaymentTermIdentity>
                        <b:PaymentTermId i:nil="true"/>
                        <b:PaymentTermName>Net 30</b:PaymentTermName>
                        <b:PaymentTermUid>1152921504606856054</b:PaymentTermUid>
                     </b:PaymentTermIdentity>
                     <b:PurchaseOrderNumber i:nil="true"/>
                     <b:StandardBillingAdjustedDiscountPercent i:nil="true"/>
                     <b:StandardContractDiscountPercent i:nil="true"/>
                     <b:StandardRateCardIdentity i:nil="true"/>
                     <b:TimeBillingType>H</b:TimeBillingType>
                     <b:Timestamp>AAAAADI328g=</b:Timestamp>
                     <b:UserDefinedFields/>
                     <b:InheritInvoiceEmailSettingsFlag>false</b:InheritInvoiceEmailSettingsFlag>
                     <b:InvoiceEmailSettings>
                        <b:EmailFromUserIdentity i:nil="true"/>
                        <b:EmailInvoiceTemplateIdentity i:nil="true"/>
                        <b:InvoiceEmailEnabledFlag>false</b:InvoiceEmailEnabledFlag>
                        <b:InvoiceEmailType i:nil="true"/>
                        <b:Recipients/>
                     </b:InvoiceEmailSettings>
                     <b:InheritRenderReceiptsFlag>false</b:InheritRenderReceiptsFlag>
                     <b:RenderReceiptsFlag>false</b:RenderReceiptsFlag>
                     <b:AutoApplyAvailableBalanceFlag>false</b:AutoApplyAvailableBalanceFlag>
                     <b:InheritAutoApplyAvailableBalanceFlag>false</b:InheritAutoApplyAvailableBalanceFlag>
                     <b:InheritTaxTypesFlag>true</b:InheritTaxTypesFlag>
                     <b:TaxType1Identity i:nil="true"/>
                     <b:TaxType2Identity i:nil="true"/>
                     <b:TaxType3Identity i:nil="true"/>
                     <b:InheritRenderedInvoiceFormatFlag>false</b:InheritRenderedInvoiceFormatFlag>
                     <b:RenderedInvoiceFormat>P</b:RenderedInvoiceFormat>
                     <b:Prefix>PPSA</b:Prefix>
                  </b:ClientDetail>
                  <b:InvoiceRecipients/>
                  <b:NumClientLevels>4</b:NumClientLevels>
               </b:PwsClientElement>
            </a:Clients>
         </PwsGetClientResult>
      </PwsGetClientResponse>
   </s:Body>
</s:Envelope>