001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016
017 /*
018 * Created on Aug 25, 2004
019 *
020 */
021 package org.kuali.kfs.module.purap.businessobject;
022
023 import java.math.BigDecimal;
024 import java.text.ParseException;
025 import java.text.SimpleDateFormat;
026 import java.util.ArrayList;
027 import java.util.Date;
028 import java.util.List;
029
030 import org.apache.commons.lang.StringUtils;
031 import org.apache.commons.lang.builder.ToStringBuilder;
032 import org.kuali.kfs.module.purap.PurapConstants;
033 import org.kuali.kfs.module.purap.document.ElectronicInvoiceRejectDocument;
034 import org.kuali.kfs.module.purap.util.PurApDateFormatUtils;
035 import org.kuali.kfs.module.purap.util.cxml.CxmlExtrinsic;
036
037
038 public class ElectronicInvoiceItem {
039 private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(ElectronicInvoiceItem.class);
040
041 // this class is equiped to hold InvoiceDetailItem values as well as a few rudimentary
042 // InvoiceDetailServiceItem values
043
044 private String catalogNumber;
045 private String invoiceLineNumber;
046 private String quantity;
047 private String unitOfMeasure;
048 // UnitPrice is deprecated for InvoiceDetailServiceItem tags
049 private String unitPrice; // has money xml node
050 private String unitPriceCurrency;
051 private String subTotalAmount; // has money xml node
052 private String subTotalAmountCurrency;
053 private String invoiceLineSpecialHandlingAmount; // has money xml node
054 private String invoiceLineSpecialHandlingAmountCurrency;
055 private String invoiceLineShippingAmount; // has money xml node
056 private String invoiceLineShippingAmountCurrency;
057 private String taxAmount; // has money xml node (not all tax fields are stored as tax should never occur)
058 private String taxAmountCurrency;
059 private String taxDescription;
060 // invoiceLineGrossAmount should = subtotalAmount + taxAmount + invoiceLineSpecialHandlingAmount + invoiceLineShippingAmount
061 private String invoiceLineGrossAmount; // subtotal + taxes + shipping + special handling
062 private String invoiceLineGrossAmountCurrency;
063 private String invoiceLineDiscountAmount; // has money xml node
064 private String invoiceLineDiscountAmountCurrency;
065 private String invoiceLineDiscountPercentageRate;
066 // invoiceLineNetAmount should = invoiceLineGrossAmount - invoiceLineDiscountAmount
067 private String invoiceLineNetAmount; // has money xml node
068 private String invoiceLineNetAmountCurrency;
069 private String shippingDateString;
070 private Date shippingDate;
071
072 private List invoiceShippingContacts = new ArrayList();
073 private List comments = new ArrayList();
074 private List extrinsic = new ArrayList();
075
076 // following fields describe PO information
077 private String referenceLineNumber; // only match available for InvoiceDetailServiceItem values
078 private String referenceSerialNumber; // attribute of <InvoiceDetailItemReference> deprecated to be <SerialNumber> inside it
079 private List<String> referenceSerialNumbers = new ArrayList<String>(); // used only if above String field is null
080 private String referenceItemIDSupplierPartID;
081 private String referenceItemIDSupplierPartAuxID;
082 private String referenceDescription;
083 private String referenceManufacturerPartID;
084 private String referenceManufacturerName;
085 private String referenceCountryCode;
086 private String referenceCountryName;
087
088 private ElectronicInvoiceRejectDocument electronicInvoiceRejectDocument;
089
090 public ElectronicInvoiceItem() {
091 }
092
093 public Integer getReferenceLineNumberInteger() {
094 if (this.referenceLineNumber != null) {
095 return new Integer(Integer.parseInt(referenceLineNumber));
096 }
097 return null;
098 }
099
100 public String getInvoiceLineShippingDescription() {
101 return "";
102 }
103
104 public BigDecimal getInvoiceLineQuantityBigDecimal() {
105 if (StringUtils.isNotEmpty(quantity)) {
106 return new BigDecimal(this.quantity);
107 } else {
108 return null;
109 }
110 }
111
112 public BigDecimal getInvoiceLineUnitCostBigDecimal() {
113 if (StringUtils.isNotEmpty(unitPrice)) {
114 return new BigDecimal(this.unitPrice);
115 } else {
116 return BigDecimal.ZERO;
117 }
118 }
119
120 public BigDecimal getInvoiceLineSubTotalAmountBigDecimal() {
121 if (StringUtils.isNotEmpty(subTotalAmount)) {
122 return new BigDecimal(this.subTotalAmount);
123 } else {
124 return BigDecimal.ZERO;
125 }
126 }
127
128 public BigDecimal getInvoiceLineTaxAmountBigDecimal() {
129 if (StringUtils.isNotEmpty(taxAmount)) {
130 return new BigDecimal(this.taxAmount);
131 } else {
132 return BigDecimal.ZERO;
133 }
134 }
135
136 public BigDecimal getInvoiceLineSpecialHandlingAmountBigDecimal() {
137 if (StringUtils.isNotEmpty(invoiceLineSpecialHandlingAmount)) {
138 return new BigDecimal(this.invoiceLineSpecialHandlingAmount);
139 } else {
140 return BigDecimal.ZERO;
141 }
142 }
143
144 public BigDecimal getInvoiceLineShippingAmountBigDecimal() {
145 if (StringUtils.isNotEmpty(invoiceLineShippingAmount)) {
146 return new BigDecimal(this.invoiceLineShippingAmount);
147 } else {
148 return BigDecimal.ZERO;
149 }
150 }
151
152 public BigDecimal getInvoiceLineGrossAmountBigDecimal() {
153 if (StringUtils.isNotEmpty(invoiceLineGrossAmount)) {
154 return new BigDecimal(this.invoiceLineGrossAmount);
155 } else {
156 return BigDecimal.ZERO;
157 }
158 }
159
160 public BigDecimal getInvoiceLineDiscountAmountBigDecimal() {
161 if (StringUtils.isNotEmpty(invoiceLineDiscountAmount)) {
162 return new BigDecimal(this.invoiceLineDiscountAmount);
163 } else {
164 return BigDecimal.ZERO;
165 }
166 }
167
168 public BigDecimal getInvoiceLineNetAmountBigDecimal() {
169 if (StringUtils.isNotEmpty(invoiceLineNetAmount)) {
170 return new BigDecimal(this.invoiceLineNetAmount);
171 } else {
172 return BigDecimal.ZERO;
173 }
174 }
175
176 /**
177 * @return Returns the shippingDateString.
178 */
179 public String getShippingDateString() {
180 return shippingDateString;
181 }
182 /**
183 * @param shippingDateString The shippingDateString to set.
184 */
185 public void setShippingDateString(String shippingDateString) {
186 this.shippingDateString = shippingDateString;
187 if ( (shippingDateString != null) && (!("".equals(shippingDateString))) ) {
188 SimpleDateFormat sdf = PurApDateFormatUtils.getSimpleDateFormat(PurapConstants.NamedDateFormats.CXML_DATE_FORMAT);
189 try {
190 this.shippingDate = sdf.parse(shippingDateString);
191 } catch (ParseException e) {
192 // setting shipping date to null to identify problem
193 LOG.error("setShippingDateString() SimpleDateFormat parser error attempting to set invalid date string " + shippingDateString + " in ShippingDate field... setting date to null");
194 this.shippingDate = null;
195 }
196 } else {
197 this.shippingDate = null;
198 }
199 }
200
201 /**
202 * @return Returns the catalogNumber.
203 */
204 public String getCatalogNumber() {
205 return catalogNumber;
206 }
207
208 /**
209 * @param catalogNumber The catalogNumber to set.
210 */
211 public void setCatalogNumber(String catalogNumber) {
212 this.catalogNumber = catalogNumber;
213 }
214 /**
215 * @return Returns the comments.
216 */
217 public List getComments() {
218 return comments;
219 }
220 /**
221 * @param comments The comments to set.
222 */
223 public void setComments(List comments) {
224 this.comments = comments;
225 }
226 /**
227 * @return Returns the extrinsic.
228 */
229 public List getExtrinsic() {
230 return extrinsic;
231 }
232 /**
233 * @param extrinsic The extrinsic to set.
234 */
235 public void setExtrinsic(List extrinsic) {
236 this.extrinsic = extrinsic;
237 }
238 /**
239 * @return Returns the invoiceLineDiscountAmount.
240 */
241 public String getInvoiceLineDiscountAmount() {
242 return invoiceLineDiscountAmount;
243 }
244 /**
245 * @param invoiceLineDiscountAmount The invoiceLineDiscountAmount to set.
246 */
247 public void setInvoiceLineDiscountAmount(String invoiceLineDiscountAmount) {
248 this.invoiceLineDiscountAmount = invoiceLineDiscountAmount;
249 }
250 /**
251 * @return Returns the invoiceLineDiscountAmountCurrency.
252 */
253 public String getInvoiceLineDiscountAmountCurrency() {
254 return invoiceLineDiscountAmountCurrency;
255 }
256 /**
257 * @param invoiceLineDiscountAmountCurrency The invoiceLineDiscountAmountCurrency to set.
258 */
259 public void setInvoiceLineDiscountAmountCurrency(String invoiceLineDiscountAmountCurrency) {
260 this.invoiceLineDiscountAmountCurrency = invoiceLineDiscountAmountCurrency;
261 }
262 /**
263 * @return Returns the invoiceLineGrossAmount.
264 */
265 public String getInvoiceLineGrossAmount() {
266 return invoiceLineGrossAmount;
267 }
268 /**
269 * @param invoiceLineGrossAmount The invoiceLineGrossAmount to set.
270 */
271 public void setInvoiceLineGrossAmount(String invoiceLineGrossAmount) {
272 this.invoiceLineGrossAmount = invoiceLineGrossAmount;
273 }
274 /**
275 * @return Returns the invoiceLineGrossAmountCurrency.
276 */
277 public String getInvoiceLineGrossAmountCurrency() {
278 return invoiceLineGrossAmountCurrency;
279 }
280 /**
281 * @param invoiceLineGrossAmountCurrency The invoiceLineGrossAmountCurrency to set.
282 */
283 public void setInvoiceLineGrossAmountCurrency(String invoiceLineGrossAmountCurrency) {
284 this.invoiceLineGrossAmountCurrency = invoiceLineGrossAmountCurrency;
285 }
286 /**
287 * @return Returns the invoiceLineNetAmount.
288 */
289 public String getInvoiceLineNetAmount() {
290 return invoiceLineNetAmount;
291 }
292 /**
293 * @param invoiceLineNetAmount The invoiceLineNetAmount to set.
294 */
295 public void setInvoiceLineNetAmount(String invoiceLineNetAmount) {
296 this.invoiceLineNetAmount = invoiceLineNetAmount;
297 }
298 /**
299 * @return Returns the invoiceLineNetAmountCurrency.
300 */
301 public String getInvoiceLineNetAmountCurrency() {
302 return invoiceLineNetAmountCurrency;
303 }
304 /**
305 * @param invoiceLineNetAmountCurrency The invoiceLineNetAmountCurrency to set.
306 */
307 public void setInvoiceLineNetAmountCurrency(String invoiceLineNetAmountCurrency) {
308 this.invoiceLineNetAmountCurrency = invoiceLineNetAmountCurrency;
309 }
310 /**
311 * @return Returns the invoiceLineNumber.
312 */
313 public String getInvoiceLineNumber() {
314 return invoiceLineNumber;
315 }
316 /**
317 * @param invoiceLineNumber The invoiceLineNumber to set.
318 */
319 public void setInvoiceLineNumber(String invoiceLineNumber) {
320 this.invoiceLineNumber = invoiceLineNumber;
321 }
322 /**
323 * @return Returns the invoiceLineShippingAmount.
324 */
325 public String getInvoiceLineShippingAmount() {
326 return invoiceLineShippingAmount;
327 }
328 /**
329 * @param invoiceLineShippingAmount The invoiceLineShippingAmount to set.
330 */
331 public void setInvoiceLineShippingAmount(String invoiceLineShippingAmount) {
332 this.invoiceLineShippingAmount = invoiceLineShippingAmount;
333 }
334 /**
335 * @return Returns the invoiceLineShippingAmountCurrency.
336 */
337 public String getInvoiceLineShippingAmountCurrency() {
338 return invoiceLineShippingAmountCurrency;
339 }
340 /**
341 * @param invoiceLineShippingAmountCurrency The invoiceLineShippingAmountCurrency to set.
342 */
343 public void setInvoiceLineShippingAmountCurrency(String invoiceLineShippingAmountCurrency) {
344 this.invoiceLineShippingAmountCurrency = invoiceLineShippingAmountCurrency;
345 }
346 /**
347 * @return Returns the invoiceLineSpecialHandlingAmount.
348 */
349 public String getInvoiceLineSpecialHandlingAmount() {
350 return invoiceLineSpecialHandlingAmount;
351 }
352 /**
353 * @param invoiceLineSpecialHandlingAmount The invoiceLineSpecialHandlingAmount to set.
354 */
355 public void setInvoiceLineSpecialHandlingAmount(String invoiceLineSpecialHandlingAmount) {
356 this.invoiceLineSpecialHandlingAmount = invoiceLineSpecialHandlingAmount;
357 }
358 /**
359 * @return Returns the invoiceLineSpecialHandlingAmountCurrency.
360 */
361 public String getInvoiceLineSpecialHandlingAmountCurrency() {
362 return invoiceLineSpecialHandlingAmountCurrency;
363 }
364 /**
365 * @param invoiceLineSpecialHandlingAmountCurrency The invoiceLineSpecialHandlingAmountCurrency to set.
366 */
367 public void setInvoiceLineSpecialHandlingAmountCurrency(
368 String invoiceLineSpecialHandlingAmountCurrency) {
369 this.invoiceLineSpecialHandlingAmountCurrency = invoiceLineSpecialHandlingAmountCurrency;
370 }
371 /**
372 * @return Returns the invoiceShippingContacts.
373 */
374 public List getInvoiceShippingContacts() {
375 return invoiceShippingContacts;
376 }
377 /**
378 * @param invoiceShippingContacts The invoiceShippingContacts to set.
379 */
380 public void setInvoiceShippingContacts(List invoiceShippingContacts) {
381 this.invoiceShippingContacts = invoiceShippingContacts;
382 }
383
384 public void addInvoiceShippingContacts(ElectronicInvoiceContact contact) {
385 invoiceShippingContacts.add(contact);
386 }
387
388 /**
389 * @return Returns the quantity.
390 */
391 public String getQuantity() {
392 return quantity;
393 }
394 /**
395 * @param quantity The quantity to set.
396 */
397 public void setQuantity(String quantity) {
398 this.quantity = quantity;
399 }
400 /**
401 * @return Returns the referenceCountryCode.
402 */
403 public String getReferenceCountryCode() {
404 return referenceCountryCode;
405 }
406 /**
407 * @param referenceCountryCode The referenceCountryCode to set.
408 */
409 public void setReferenceCountryCode(String referenceCountryCode) {
410 this.referenceCountryCode = referenceCountryCode;
411 }
412 /**
413 * @return Returns the referenceCountryName.
414 */
415 public String getReferenceCountryName() {
416 return referenceCountryName;
417 }
418 /**
419 * @param referenceCountryName The referenceCountryName to set.
420 */
421 public void setReferenceCountryName(String referenceCountryName) {
422 this.referenceCountryName = referenceCountryName;
423 }
424 /**
425 * @return Returns the referenceDescription.
426 */
427 public String getReferenceDescription() {
428 return referenceDescription;
429 }
430 /**
431 * @param referenceDescription The referenceDescription to set.
432 */
433 public void setReferenceDescription(String referenceDescription) {
434 this.referenceDescription = referenceDescription;
435 }
436 /**
437 * @return Returns the referenceItemIDSupplierPartAuxID.
438 */
439 public String getReferenceItemIDSupplierPartAuxID() {
440 return referenceItemIDSupplierPartAuxID;
441 }
442 /**
443 * @param referenceItemIDSupplierPartAuxID The referenceItemIDSupplierPartAuxID to set.
444 */
445 public void setReferenceItemIDSupplierPartAuxID(String referenceItemIDSupplierPartAuxID) {
446 this.referenceItemIDSupplierPartAuxID = referenceItemIDSupplierPartAuxID;
447 }
448 /**
449 * @return Returns the referenceItemIDSupplierPartID.
450 */
451 public String getReferenceItemIDSupplierPartID() {
452 return referenceItemIDSupplierPartID;
453 }
454 /**
455 * @param referenceItemIDSupplierPartID The referenceItemIDSupplierPartID to set.
456 */
457 public void setReferenceItemIDSupplierPartID(String referenceItemIDSupplierPartID) {
458 this.referenceItemIDSupplierPartID = referenceItemIDSupplierPartID;
459 }
460 /**
461 * @return Returns the referenceLineNumber.
462 */
463 public String getReferenceLineNumber() {
464 return referenceLineNumber;
465 }
466 /**
467 * @param referenceLineNumber The referenceLineNumber to set.
468 */
469 public void setReferenceLineNumber(String referenceLineNumber) {
470 this.referenceLineNumber = referenceLineNumber;
471 }
472 /**
473 * @return Returns the referenceManufacturerName.
474 */
475 public String getReferenceManufacturerName() {
476 return referenceManufacturerName;
477 }
478 /**
479 * @param referenceManufacturerName The referenceManufacturerName to set.
480 */
481 public void setReferenceManufacturerName(String referenceManufacturerName) {
482 this.referenceManufacturerName = referenceManufacturerName;
483 }
484 /**
485 * @return Returns the referenceManufacturerPartID.
486 */
487 public String getReferenceManufacturerPartID() {
488 return referenceManufacturerPartID;
489 }
490 /**
491 * @param referenceManufacturerPartID The referenceManufacturerPartID to set.
492 */
493 public void setReferenceManufacturerPartID(String referenceManufacturerPartID) {
494 this.referenceManufacturerPartID = referenceManufacturerPartID;
495 }
496 /**
497 * @return Returns the referenceSerialNumber.
498 */
499 public String getReferenceSerialNumber() {
500 return referenceSerialNumber;
501 }
502 /**
503 * @param referenceSerialNumber The referenceSerialNumber to set.
504 */
505 public void setReferenceSerialNumber(String referenceSerialNumber) {
506 this.referenceSerialNumber = referenceSerialNumber;
507 }
508 /**
509 * @return Returns the referenceSerialNumbers.
510 */
511 public List getReferenceSerialNumbers() {
512 return referenceSerialNumbers;
513 }
514 /**
515 * @param referenceSerialNumbers The referenceSerialNumbers to set.
516 */
517 public void setReferenceSerialNumbers(List referenceSerialNumbers) {
518 this.referenceSerialNumbers = referenceSerialNumbers;
519 }
520 /**
521 * @return Returns the shippingDate.
522 */
523 public Date getShippingDate() {
524 return shippingDate;
525 }
526 /**
527 * @param shippingDate The shippingDate to set.
528 */
529 public void setShippingDate(Date shippingDate) {
530 this.shippingDate = shippingDate;
531 }
532 /**
533 * @return Returns the subtotalAmount.
534 */
535 public String getSubTotalAmount() {
536 return subTotalAmount;
537 }
538 /**
539 * @param subtotalAmount The subtotalAmount to set.
540 */
541 public void setSubTotalAmount(String subTotalAmount) {
542 this.subTotalAmount = subTotalAmount;
543 }
544 /**
545 * @return Returns the subtotalAmountCurrency.
546 */
547 public String getSubTotalAmountCurrency() {
548 return subTotalAmountCurrency;
549 }
550 /**
551 * @param subtotalAmountCurrency The subtotalAmountCurrency to set.
552 */
553 public void setSubTotalAmountCurrency(String subTotalAmountCurrency) {
554 this.subTotalAmountCurrency = subTotalAmountCurrency;
555 }
556 /**
557 * @return Returns the taxAmount.
558 */
559 public String getTaxAmount() {
560 return taxAmount;
561 }
562 /**
563 * @param taxAmount The taxAmount to set.
564 */
565 public void setTaxAmount(String taxAmount) {
566 this.taxAmount = taxAmount;
567 }
568 /**
569 * @return Returns the taxAmountCurrency.
570 */
571 public String getTaxAmountCurrency() {
572 return taxAmountCurrency;
573 }
574 /**
575 * @param taxAmountCurrency The taxAmountCurrency to set.
576 */
577 public void setTaxAmountCurrency(String taxAmountCurrency) {
578 this.taxAmountCurrency = taxAmountCurrency;
579 }
580 /**
581 * @return Returns the taxDescription.
582 */
583 public String getTaxDescription() {
584 return taxDescription;
585 }
586 /**
587 * @param taxDescription The taxDescription to set.
588 */
589 public void setTaxDescription(String taxDescription) {
590 this.taxDescription = taxDescription;
591 }
592 /**
593 * @return Returns the unitOfMeasure.
594 */
595 public String getUnitOfMeasure() {
596 return unitOfMeasure;
597 }
598 /**
599 * @param unitOfMeasure The unitOfMeasure to set.
600 */
601 public void setUnitOfMeasure(String unitOfMeasure) {
602 this.unitOfMeasure = unitOfMeasure;
603 }
604 /**
605 * @return Returns the unitPrice.
606 */
607 public String getUnitPrice() {
608 return unitPrice;
609 }
610 /**
611 * @param unitPrice The unitPrice to set.
612 */
613 public void setUnitPrice(String unitPrice) {
614 this.unitPrice = unitPrice;
615 }
616 /**
617 * @return Returns the unitPriceCurrency.
618 */
619 public String getUnitPriceCurrency() {
620 return unitPriceCurrency;
621 }
622 /**
623 * @param unitPriceCurrency The unitPriceCurrency to set.
624 */
625 public void setUnitPriceCurrency(String unitPriceCurrency) {
626 this.unitPriceCurrency = unitPriceCurrency;
627 }
628
629 public ElectronicInvoiceRejectDocument getElectronicInvoiceRejectDocument() {
630 return electronicInvoiceRejectDocument;
631 }
632
633 public void setElectronicInvoiceRejectDocument(ElectronicInvoiceRejectDocument electronicInvoiceRejectDocument) {
634 this.electronicInvoiceRejectDocument = electronicInvoiceRejectDocument;
635 }
636
637
638 public void addReferenceSerialNumber(String referenceSerialNumber) {
639 this.referenceSerialNumbers.add(referenceSerialNumber);
640 }
641
642 public String[] getReferenceSerialNumbersAsArray() {
643 if (referenceSerialNumbers.size() > 0){
644 String[] serialNumbers = new String[referenceSerialNumbers.size()];
645 referenceSerialNumbers.toArray(serialNumbers);
646 return serialNumbers;
647 }
648 return null;
649 }
650
651 public void addExtrinsic(CxmlExtrinsic extrinsic) {
652 this.extrinsic.add(extrinsic);
653 }
654
655 public CxmlExtrinsic[] getExtrinsicAsArray() {
656 if (extrinsic.size() > 0){
657 CxmlExtrinsic[] extrinsics = new CxmlExtrinsic[extrinsic.size()];
658 extrinsic.toArray(extrinsics);
659 return extrinsics;
660 }
661 return null;
662 }
663
664 public void addComments(String comment){
665 this.comments.add(comment);
666 }
667
668 public String getInvoiceLineDiscountPercentageRate() {
669 return invoiceLineDiscountPercentageRate;
670 }
671
672 public void setInvoiceLineDiscountPercentageRate(String invoiceLineDiscountPercentageRate) {
673 this.invoiceLineDiscountPercentageRate = invoiceLineDiscountPercentageRate;
674 }
675
676 public String toString(){
677
678 ToStringBuilder toString = new ToStringBuilder(this);
679
680 toString.append("invoiceLineNumber",getInvoiceLineNumber());
681 toString.append("quantity",getQuantity());
682 toString.append("catalogNumber",getCatalogNumber());
683 toString.append("unitOfMeasure",getUnitOfMeasure());
684 toString.append("unitPrice",getUnitPrice());
685 toString.append("unitPriceCurrency",getUnitPriceCurrency());
686 toString.append("subTotalAmount",getSubTotalAmount());
687 toString.append("subTotalAmountCurrency",getSubTotalAmountCurrency());
688 toString.append("invoiceLineSpecialHandlingAmount",getInvoiceLineSpecialHandlingAmount());
689 toString.append("invoiceLineSpecialHandlingAmountCurrency",getInvoiceLineSpecialHandlingAmountCurrency());
690 toString.append("invoiceLineShippingAmount",getInvoiceLineShippingAmount());
691 toString.append("invoiceLineShippingAmountCurrency",getInvoiceLineShippingAmountCurrency());
692 toString.append("taxAmount",getTaxAmount());
693 toString.append("taxAmountCurrency",getTaxAmountCurrency());
694 toString.append("taxDescription",getTaxDescription());
695 toString.append("invoiceLineGrossAmount",getInvoiceLineGrossAmount());
696 toString.append("invoiceLineGrossAmountCurrency",getInvoiceLineGrossAmountCurrency());
697 toString.append("invoiceLineDiscountAmount",getInvoiceLineDiscountAmount());
698 toString.append("invoiceLineDiscountAmountCurrency",getInvoiceLineDiscountAmountCurrency());
699 toString.append("invoiceLineNetAmount",getInvoiceLineNetAmount());
700 toString.append("invoiceLineNetAmountCurrency",getInvoiceLineNetAmountCurrency());
701 toString.append("shippingDateString",getShippingDateString());
702
703 toString.append("referenceLineNumber",getReferenceLineNumber());
704 toString.append("referenceSerialNumber",getReferenceSerialNumber());
705 toString.append("referenceSerialNumbersList",getReferenceSerialNumbers());
706 toString.append("referenceItemIDSupplierPartID",getReferenceItemIDSupplierPartID());
707 toString.append("referenceItemIDSupplierPartAuxID",getReferenceItemIDSupplierPartAuxID());
708 toString.append("referenceDescription",getReferenceDescription());
709 toString.append("referenceManufacturerPartID",getReferenceManufacturerPartID());
710 toString.append("referenceManufacturerName",getReferenceManufacturerName());
711 toString.append("referenceCountryCode",getReferenceCountryCode());
712 toString.append("referenceCountryName",getReferenceCountryName());
713
714 toString.append("invoiceShippingContacts",getInvoiceShippingContacts());
715 toString.append("comments",getComments());
716 toString.append("extrinsic",getExtrinsic());
717
718 return toString.toString();
719
720 }
721
722
723
724 }