From 49ca95117fb515ed45fef35ecb093121a3f47ac4 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 11 Feb 2025 15:26:00 +1100 Subject: [PATCH] Cleanup for QB Imports --- app/Import/Providers/QBBackup.php | 36 + app/Services/Quickbooks/Models/QbInvoice.php | 26 +- app/Services/Quickbooks/Models/QbPayment.php | 84 + app/Services/Quickbooks/QuickbooksService.php | 7 +- .../Quickbooks/QuickbooksMappingTest.php | 10 + tests/Feature/Import/Quickbooks/backup.json | 1688 +++++++++-------- 6 files changed, 1053 insertions(+), 798 deletions(-) create mode 100644 app/Services/Quickbooks/Models/QbPayment.php diff --git a/app/Import/Providers/QBBackup.php b/app/Import/Providers/QBBackup.php index 5976eb74ef..dcb72a557b 100644 --- a/app/Import/Providers/QBBackup.php +++ b/app/Import/Providers/QBBackup.php @@ -2,9 +2,11 @@ namespace App\Import\Providers; +use App\Models\Invoice; use Illuminate\Support\Facades\Cache; use App\Services\Quickbooks\QuickbooksService; use App\Services\Quickbooks\Transformers\ClientTransformer; +use App\Services\Quickbooks\Transformers\PaymentTransformer; class QBBackup extends BaseImport implements ImportInterface { @@ -54,6 +56,40 @@ class QBBackup extends BaseImport implements ImportInterface public function payment() { + $payments = isset($this->qb_data['payments']) && is_array($this->qb_data['payments']) ? $this->qb_data['payments'] : []; + + foreach ($payments as $payment) { + + $payment_transformer = new PaymentTransformer($this->company); + + $transformed = $payment_transformer->qbToNinja($payment); + + $ninja_payment = $payment_transformer->buildPayment($payment); + $ninja_payment->service()->applyNumber()->save(); + + + $invoice = Invoice::query() + ->withTrashed() + ->where('company_id', $this->company->id) + ->where('sync->qb_id', $payment['invoice_id']) + ->first(); + + if ($invoice) { + + $paymentable = new \App\Models\Paymentable(); + $paymentable->payment_id = $ninja_payment->id; + $paymentable->paymentable_id = $invoice->id; + $paymentable->paymentable_type = 'invoices'; + $paymentable->amount = $transformed['applied'] + $ninja_payment->credits->sum('amount'); + $paymentable->created_at = $ninja_payment->date; //@phpstan-ignore-line + $paymentable->save(); + + $invoice->service()->applyPayment($ninja_payment, $paymentable->amount); + + } + + } + } public function vendor() diff --git a/app/Services/Quickbooks/Models/QbInvoice.php b/app/Services/Quickbooks/Models/QbInvoice.php index be99bdeebd..5c7f3f3b6f 100644 --- a/app/Services/Quickbooks/Models/QbInvoice.php +++ b/app/Services/Quickbooks/Models/QbInvoice.php @@ -56,8 +56,6 @@ class QbInvoice implements SyncInterface $ninja_invoice_data = $this->invoice_transformer->qbToNinja($record); - nlog($ninja_invoice_data); - $payment_ids = $ninja_invoice_data['payment_ids'] ?? []; $client_id = $ninja_invoice_data['client_id'] ?? null; @@ -201,13 +199,35 @@ class QbInvoice implements SyncInterface if ($invoice->id) { $this->qbInvoiceUpdate($ninja_invoice_data, $invoice); } -nlog($ninja_invoice_data); //new invoice scaffold $invoice->fill($ninja_invoice_data); $invoice->saveQuietly(); $invoice = $invoice->calc()->getInvoice()->service()->markSent()->applyNumber()->createInvitations()->save(); + foreach ($payment_ids as $payment_id) { + + $payment = $this->service->sdk->FindById('Payment', $payment_id); + + $payment_transformer = new PaymentTransformer($this->service->company); + + $transformed = $payment_transformer->qbToNinja($payment); + + $ninja_payment = $payment_transformer->buildPayment($payment); + $ninja_payment->service()->applyNumber()->save(); + + $paymentable = new \App\Models\Paymentable(); + $paymentable->payment_id = $ninja_payment->id; + $paymentable->paymentable_id = $invoice->id; + $paymentable->paymentable_type = 'invoices'; + $paymentable->amount = $transformed['applied'] + $ninja_payment->credits->sum('amount'); + $paymentable->created_at = $ninja_payment->date; //@phpstan-ignore-line + $paymentable->save(); + + $invoice->service()->applyPayment($ninja_payment, $paymentable->amount); + + } + if ($record instanceof \QuickBooksOnline\API\Data\IPPSalesReceipt) { $invoice->service()->markPaid()->save(); } diff --git a/app/Services/Quickbooks/Models/QbPayment.php b/app/Services/Quickbooks/Models/QbPayment.php new file mode 100644 index 0000000000..8f195a9242 --- /dev/null +++ b/app/Services/Quickbooks/Models/QbPayment.php @@ -0,0 +1,84 @@ +service->sdk->FindById('Payment', $id); + } + + public function importToNinja(array $records): void + { + + foreach ($records as $payment) { + + $payment_transformer = new PaymentTransformer($this->service->company); + + $transformed = $payment_transformer->qbToNinja($payment); + + $ninja_payment = $payment_transformer->buildPayment($payment); + $ninja_payment->service()->applyNumber()->save(); + + $invoice = Invoice::query() + ->withTrashed() + ->where('company_id', $this->service->company->id) + ->where('sync->qb_id', $payment['invoice_id']) + ->first(); + + if ($invoice) { + + $paymentable = new \App\Models\Paymentable(); + $paymentable->payment_id = $ninja_payment->id; + $paymentable->paymentable_id = $invoice->id; + $paymentable->paymentable_type = 'invoices'; + $paymentable->amount = $transformed['applied'] + $ninja_payment->credits->sum('amount'); + $paymentable->created_at = $ninja_payment->date; //@phpstan-ignore-line + $paymentable->save(); + + $invoice->service()->applyPayment($ninja_payment, $paymentable->amount); + + } + + } + + } + + public function syncToNinja(array $records): void + { + $transformer = new PaymentTransformer($this->service->company); + + foreach ($records as $record) { + $ninja_data = $transformer->qbToNinja($record); + } + } + + public function syncToForeign(array $records): void + { + + } +} diff --git a/app/Services/Quickbooks/QuickbooksService.php b/app/Services/Quickbooks/QuickbooksService.php index 652e8472e3..e97d6c8cd1 100644 --- a/app/Services/Quickbooks/QuickbooksService.php +++ b/app/Services/Quickbooks/QuickbooksService.php @@ -20,12 +20,13 @@ use App\Factory\InvoiceFactory; use App\Factory\ProductFactory; use App\DataMapper\QuickbooksSync; use App\Factory\ClientContactFactory; +use App\Services\Quickbooks\Models\QbClient; use QuickBooksOnline\API\Core\CoreConstants; use App\Services\Quickbooks\Models\QbInvoice; +use App\Services\Quickbooks\Models\QbPayment; use App\Services\Quickbooks\Models\QbProduct; use QuickBooksOnline\API\DataService\DataService; use App\Services\Quickbooks\Jobs\QuickbooksImport; -use App\Services\Quickbooks\Models\QbClient; use App\Services\Quickbooks\Transformers\ClientTransformer; use App\Services\Quickbooks\Transformers\InvoiceTransformer; use App\Services\Quickbooks\Transformers\PaymentTransformer; @@ -41,6 +42,8 @@ class QuickbooksService public QbClient $client; + public QbPayment $payment; + public QuickbooksSync $settings; private bool $testMode = true; @@ -82,6 +85,8 @@ class QuickbooksService $this->client = new QbClient($this); + $this->payment = new QbPayment($this); + $this->settings = $this->company->quickbooks->settings; // $this->checkDefaultAccounts(); // disabled, because if OAuth not present, we don't have access to the accounts. diff --git a/tests/Feature/Import/Quickbooks/QuickbooksMappingTest.php b/tests/Feature/Import/Quickbooks/QuickbooksMappingTest.php index 09be30fc2d..379ffcf7bf 100644 --- a/tests/Feature/Import/Quickbooks/QuickbooksMappingTest.php +++ b/tests/Feature/Import/Quickbooks/QuickbooksMappingTest.php @@ -8,6 +8,7 @@ use ReflectionClass; use App\Models\Client; use App\Models\Company; use App\Models\Invoice; +use App\Models\Payment; use App\Models\Product; use Tests\MockAccountData; use Illuminate\Support\Str; @@ -27,6 +28,7 @@ use Illuminate\Routing\Middleware\ThrottleRequests; use QuickBooksOnline\API\Facades\Invoice as QbInvoice; use Illuminate\Foundation\Testing\DatabaseTransactions; use App\Services\Quickbooks\Transformers\ClientTransformer; + class QuickbooksMappingTest extends TestCase { use MockAccountData; @@ -77,6 +79,14 @@ class QuickbooksMappingTest extends TestCase $this->assertGreaterThan($pre_count, $post_count); + $pre_count = Payment::where('company_id', $this->company->id)->count(); + + $this->assertGreaterThan(0, count($this->qb_data['payments'])); + + $qb->payment->importToNinja($this->qb_data['payments']); + $post_count = Payment::where('company_id', $this->company->id)->count(); + + $this->assertGreaterThan($pre_count, $post_count); Client::where('company_id', $this->company->id)->cursor()->each(function ($client) { $client->forceDelete(); diff --git a/tests/Feature/Import/Quickbooks/backup.json b/tests/Feature/Import/Quickbooks/backup.json index 0bdae8cc81..ae54302a02 100644 --- a/tests/Feature/Import/Quickbooks/backup.json +++ b/tests/Feature/Import/Quickbooks/backup.json @@ -21871,7 +21871,7 @@ "CreatedByRef": null, "CreateTime": "2024-05-22T17:13:37-07:00", "LastModifiedByRef": null, - "LastUpdatedTime": "2024-05-28T11:43:20-07:00", + "LastUpdatedTime": "2025-02-10T19:58:23-08:00", "LastChangedInQB": null, "Synchronized": null }, @@ -21973,9 +21973,9 @@ "PaymentMethodRef": null, "CCDetail": null, "PriceLevelRef": null, - "Balance": "954.75", + "Balance": "0", "OpenBalanceDate": null, - "BalanceWithJobs": "954.75", + "BalanceWithJobs": "0", "CreditLimit": null, "AcctNum": null, "CurrencyRef": "USD", @@ -25746,7 +25746,7 @@ "CreatedByRef": null, "CreateTime": "2024-05-22T17:18:34-07:00", "LastModifiedByRef": null, - "LastUpdatedTime": "2024-05-28T11:16:52-07:00", + "LastUpdatedTime": "2025-02-10T19:58:01-08:00", "LastChangedInQB": null, "Synchronized": null }, @@ -25850,7 +25850,7 @@ "PriceLevelRef": null, "Balance": "0", "OpenBalanceDate": null, - "BalanceWithJobs": "274.50", + "BalanceWithJobs": "0", "CreditLimit": null, "AcctNum": null, "CurrencyRef": "USD", @@ -25883,7 +25883,7 @@ "CreatedByRef": null, "CreateTime": "2024-05-22T17:22:41-07:00", "LastModifiedByRef": null, - "LastUpdatedTime": "2024-05-28T11:16:52-07:00", + "LastUpdatedTime": "2025-02-10T19:58:01-08:00", "LastChangedInQB": null, "Synchronized": null }, @@ -25985,9 +25985,9 @@ "PaymentMethodRef": null, "CCDetail": null, "PriceLevelRef": null, - "Balance": "274.50", + "Balance": "0", "OpenBalanceDate": null, - "BalanceWithJobs": "274.50", + "BalanceWithJobs": "0", "CreditLimit": null, "AcctNum": null, "CurrencyRef": "USD", @@ -29255,6 +29255,803 @@ } ], "invoices": [ + { + "Id": "49", + "SyncToken": "1", + "MetaData": { + "CreatedByRef": null, + "CreateTime": "2024-05-28T11:43:20-07:00", + "LastModifiedByRef": "9341452606525892", + "LastUpdatedTime": "2025-02-10T19:58:23-08:00", + "LastChangedInQB": null, + "Synchronized": null + }, + "CustomField": null, + "AttachableRef": null, + "domain": null, + "status": null, + "sparse": null, + "DocNumber": "1015", + "TxnDate": "2024-05-28", + "DepartmentRef": null, + "CurrencyRef": "USD", + "ExchangeRate": null, + "PrivateNote": null, + "TxnStatus": null, + "LinkedTxn": [ + { + "TxnId": "48", + "TxnType": "Estimate", + "TxnLineId": null + }, + { + "TxnId": "200", + "TxnType": "Payment", + "TxnLineId": null + } + ], + "Line": [ + { + "Id": "1", + "LineNum": "1", + "Description": "Custom Design", + "Amount": "300.00", + "Received": null, + "LinkedTxn": { + "TxnId": "48", + "TxnType": "Estimate", + "TxnLineId": null + }, + "DetailType": "SalesItemLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": { + "ItemRef": "4", + "ClassRef": null, + "UnitPrice": "75", + "UnitCostPrice": null, + "RatePercent": null, + "PriceLevelRef": null, + "MarkupInfo": null, + "Qty": "4", + "UOMRef": null, + "ItemAccountRef": "82", + "InventorySiteRef": null, + "TaxCodeRef": "NON", + "TaxClassificationRef": null, + "ServiceDate": null, + "TaxInclusiveAmt": null, + "DiscountRate": null, + "DiscountAmt": null, + "DeferredRevenue": null, + "SalesItemLineDetailEx": null + }, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": "2", + "LineNum": "2", + "Description": "Installation of landscape design", + "Amount": "250.00", + "Received": null, + "LinkedTxn": { + "TxnId": "48", + "TxnType": "Estimate", + "TxnLineId": null + }, + "DetailType": "SalesItemLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": { + "ItemRef": "7", + "ClassRef": null, + "UnitPrice": "50", + "UnitCostPrice": null, + "RatePercent": null, + "PriceLevelRef": null, + "MarkupInfo": null, + "Qty": "5", + "UOMRef": null, + "ItemAccountRef": "52", + "InventorySiteRef": null, + "TaxCodeRef": "NON", + "TaxClassificationRef": null, + "ServiceDate": null, + "TaxInclusiveAmt": null, + "DiscountRate": null, + "DiscountAmt": null, + "DeferredRevenue": null, + "SalesItemLineDetailEx": null + }, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": "3", + "LineNum": "3", + "Description": "Rock Fountain", + "Amount": "275.00", + "Received": null, + "LinkedTxn": { + "TxnId": "48", + "TxnType": "Estimate", + "TxnLineId": null + }, + "DetailType": "SalesItemLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": { + "ItemRef": "5", + "ClassRef": null, + "UnitPrice": "275", + "UnitCostPrice": null, + "RatePercent": null, + "PriceLevelRef": null, + "MarkupInfo": null, + "Qty": "1", + "UOMRef": null, + "ItemAccountRef": "48", + "InventorySiteRef": null, + "TaxCodeRef": "NON", + "TaxClassificationRef": null, + "ServiceDate": null, + "TaxInclusiveAmt": null, + "DiscountRate": null, + "DiscountAmt": null, + "DeferredRevenue": null, + "SalesItemLineDetailEx": null + }, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": "4", + "LineNum": "4", + "Description": "Garden Rocks", + "Amount": "180.00", + "Received": null, + "LinkedTxn": { + "TxnId": "48", + "TxnType": "Estimate", + "TxnLineId": null + }, + "DetailType": "SalesItemLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": { + "ItemRef": "13", + "ClassRef": null, + "UnitPrice": "22.5", + "UnitCostPrice": null, + "RatePercent": null, + "PriceLevelRef": null, + "MarkupInfo": null, + "Qty": "8", + "UOMRef": null, + "ItemAccountRef": "48", + "InventorySiteRef": null, + "TaxCodeRef": "NON", + "TaxClassificationRef": null, + "ServiceDate": null, + "TaxInclusiveAmt": null, + "DiscountRate": null, + "DiscountAmt": null, + "DeferredRevenue": null, + "SalesItemLineDetailEx": null + }, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": null, + "LineNum": null, + "Description": null, + "Amount": "1005.00", + "Received": null, + "LinkedTxn": null, + "DetailType": "SubTotalLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": null, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": "", + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": null, + "LineNum": null, + "Description": null, + "Amount": "50.25", + "Received": null, + "LinkedTxn": null, + "DetailType": "DiscountLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": { + "DiscountRef": null, + "PercentBased": "true", + "DiscountPercent": "5", + "DiscountAccountRef": "86", + "ServiceDate": null, + "ClassRef": null, + "TaxCodeRef": null, + "DiscountLineDetailEx": null + }, + "TaxLineDetail": null, + "SalesItemLineDetail": null, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + } + ], + "TxnTaxDetail": { + "DefaultTaxCodeRef": null, + "TxnTaxCodeRef": null, + "TotalTax": "0", + "TaxReviewStatus": null, + "TaxLine": null, + "UseAutomatedSalesTax": null + }, + "TxnSource": null, + "TaxFormType": null, + "TaxFormNum": null, + "TransactionLocationType": null, + "Tag": null, + "TxnApprovalInfo": null, + "RecurDataRef": null, + "RecurringInfo": null, + "ProjectRef": null, + "TotalCostAmount": null, + "HomeTotalCostAmount": null, + "AutoDocNumber": null, + "CustomerRef": "18", + "CustomerMemo": "Thank you for your business and have a great day!", + "BillAddr": { + "Id": "68", + "Line1": "Kathy Paulsen", + "Line2": "Paulsen Medical Supplies", + "Line3": "900 Main St.", + "Line4": "Middlefield, CA 94303", + "Line5": null, + "City": null, + "Country": null, + "CountryCode": null, + "County": null, + "CountrySubDivisionCode": null, + "PostalCode": null, + "PostalCodeSuffix": null, + "Lat": "37.4530553", + "Long": "-122.1178261", + "Tag": null, + "Note": null + }, + "ShipAddr": { + "Id": "19", + "Line1": "38921 S. Boise Ave", + "Line2": null, + "Line3": null, + "Line4": null, + "Line5": null, + "City": "Middlefield", + "Country": null, + "CountryCode": null, + "County": null, + "CountrySubDivisionCode": "CA", + "PostalCode": "94304", + "PostalCodeSuffix": null, + "Lat": "37.3989376", + "Long": "-122.1443935", + "Tag": null, + "Note": null + }, + "FreeFormAddress": "true", + "ShipFromAddr": null, + "RemitToRef": null, + "ClassRef": null, + "SalesTermRef": "3", + "DueDate": "2024-06-27", + "SalesRepRef": null, + "PONumber": null, + "FOB": null, + "ShipMethodRef": null, + "ShipDate": null, + "TrackingNum": null, + "GlobalTaxCalculation": null, + "TotalAmt": "954.75", + "HomeTotalAmt": null, + "ApplyTaxAfterDiscount": "false", + "ShippingTaxIncludedInTotalTax": null, + "TemplateRef": null, + "PrintStatus": "NotSet", + "EmailStatus": "NotSet", + "BillEmail": { + "Id": null, + "Address": "Medical@intuit.com", + "Default": null, + "Tag": null + }, + "BillEmailCc": null, + "BillEmailBcc": null, + "ARAccountRef": null, + "Balance": "0", + "HomeBalance": null, + "FinanceCharge": null, + "PaymentMethodRef": null, + "PaymentRefNum": null, + "PaymentType": null, + "CheckPayment": null, + "CreditCardPayment": null, + "DepositToAccountRef": null, + "DeliveryInfo": null, + "DiscountRate": null, + "DiscountAmt": null, + "GovtTxnRefIdentifier": null, + "TaxExemptionRef": null, + "Deposit": null, + "AllowIPNPayment": "false", + "AllowOnlinePayment": "false", + "AllowOnlineCreditCardPayment": "false", + "AllowOnlineACHPayment": "false", + "AllowOnlinePayPalPayment": null, + "EInvoiceStatus": null, + "ECloudStatusTimeStamp": null, + "CfdiUse": null, + "Exportation": null, + "GlobalInfo": null, + "invoiceStatus": null, + "callToAction": null, + "invoiceStatusLog": null, + "InvoiceEx": null, + "LessCIS": null, + "InvoiceLink": null, + "PaymentDetailsMessage": null, + "ConvenienceFeeDetail": null, + "InvoiceLinkSecurityCode": null, + "InvoiceLinkExpiryDate": null, + "AutoPayEligible": null, + "SchedulePayEligible": null, + "ScheduledPaymentId": null, + "GratuityEnabled": null, + "FinancingProductType": null, + "SubscriptionPaymentsSetting": null + }, + { + "Id": "39", + "SyncToken": "3", + "MetaData": { + "CreatedByRef": null, + "CreateTime": "2024-05-28T11:16:52-07:00", + "LastModifiedByRef": "9341452606525892", + "LastUpdatedTime": "2025-02-10T19:58:01-08:00", + "LastChangedInQB": null, + "Synchronized": null + }, + "CustomField": null, + "AttachableRef": null, + "domain": null, + "status": null, + "sparse": null, + "DocNumber": "1012", + "TxnDate": "2024-05-16", + "DepartmentRef": null, + "CurrencyRef": "USD", + "ExchangeRate": null, + "PrivateNote": null, + "TxnStatus": null, + "LinkedTxn": { + "TxnId": "199", + "TxnType": "Payment", + "TxnLineId": null + }, + "Line": [ + { + "Id": "1", + "LineNum": "1", + "Description": "Sprinkler Heads", + "Amount": "30.00", + "Received": null, + "LinkedTxn": null, + "DetailType": "SalesItemLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": { + "ItemRef": "16", + "ClassRef": null, + "UnitPrice": "2", + "UnitCostPrice": null, + "RatePercent": null, + "PriceLevelRef": null, + "MarkupInfo": null, + "Qty": "15", + "UOMRef": null, + "ItemAccountRef": "79", + "InventorySiteRef": null, + "TaxCodeRef": "NON", + "TaxClassificationRef": null, + "ServiceDate": null, + "TaxInclusiveAmt": null, + "DiscountRate": null, + "DiscountAmt": null, + "DeferredRevenue": null, + "SalesItemLineDetailEx": null + }, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": "2", + "LineNum": "2", + "Description": "Rock Fountain", + "Amount": "275.00", + "Received": null, + "LinkedTxn": null, + "DetailType": "SalesItemLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": { + "ItemRef": "5", + "ClassRef": null, + "UnitPrice": "275", + "UnitCostPrice": null, + "RatePercent": null, + "PriceLevelRef": null, + "MarkupInfo": null, + "Qty": "1", + "UOMRef": null, + "ItemAccountRef": "79", + "InventorySiteRef": null, + "TaxCodeRef": "NON", + "TaxClassificationRef": null, + "ServiceDate": null, + "TaxInclusiveAmt": null, + "DiscountRate": null, + "DiscountAmt": null, + "DeferredRevenue": null, + "SalesItemLineDetailEx": null + }, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": null, + "LineNum": null, + "Description": null, + "Amount": "305.00", + "Received": null, + "LinkedTxn": null, + "DetailType": "SubTotalLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": null, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": "", + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + { + "Id": null, + "LineNum": null, + "Description": null, + "Amount": "30.50", + "Received": null, + "LinkedTxn": null, + "DetailType": "DiscountLineDetail", + "PaymentLineDetail": null, + "DiscountLineDetail": { + "DiscountRef": null, + "PercentBased": "true", + "DiscountPercent": "10", + "DiscountAccountRef": "86", + "ServiceDate": null, + "ClassRef": null, + "TaxCodeRef": null, + "DiscountLineDetailEx": null + }, + "TaxLineDetail": null, + "SalesItemLineDetail": null, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": null, + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + } + ], + "TxnTaxDetail": { + "DefaultTaxCodeRef": null, + "TxnTaxCodeRef": null, + "TotalTax": "0", + "TaxReviewStatus": null, + "TaxLine": null, + "UseAutomatedSalesTax": null + }, + "TxnSource": null, + "TaxFormType": null, + "TaxFormNum": null, + "TransactionLocationType": null, + "Tag": null, + "TxnApprovalInfo": null, + "RecurDataRef": null, + "RecurringInfo": null, + "ProjectRef": null, + "TotalCostAmount": null, + "HomeTotalCostAmount": null, + "AutoDocNumber": null, + "CustomerRef": "23", + "CustomerMemo": "Thank you for your business and have a great day!", + "BillAddr": { + "Id": "105", + "Line1": "Shara Barnett", + "Line2": "Barnett Design", + "Line3": "19 Main St.", + "Line4": "Middlefield, CA 94303", + "Line5": null, + "City": null, + "Country": null, + "CountryCode": null, + "County": null, + "CountrySubDivisionCode": null, + "PostalCode": null, + "PostalCodeSuffix": null, + "Lat": null, + "Long": null, + "Tag": null, + "Note": null + }, + "ShipAddr": { + "Id": "24", + "Line1": "19 Main St.", + "Line2": null, + "Line3": null, + "Line4": null, + "Line5": null, + "City": "Middlefield", + "Country": null, + "CountryCode": null, + "County": null, + "CountrySubDivisionCode": "CA", + "PostalCode": "94303", + "PostalCodeSuffix": null, + "Lat": "37.445013", + "Long": "-122.1391443", + "Tag": null, + "Note": null + }, + "FreeFormAddress": "true", + "ShipFromAddr": null, + "RemitToRef": null, + "ClassRef": null, + "SalesTermRef": "3", + "DueDate": "2024-06-29", + "SalesRepRef": null, + "PONumber": null, + "FOB": null, + "ShipMethodRef": null, + "ShipDate": null, + "TrackingNum": null, + "GlobalTaxCalculation": null, + "TotalAmt": "274.50", + "HomeTotalAmt": null, + "ApplyTaxAfterDiscount": "false", + "ShippingTaxIncludedInTotalTax": null, + "TemplateRef": null, + "PrintStatus": "NeedToPrint", + "EmailStatus": "NeedToSend", + "BillEmail": { + "Id": null, + "Address": "Design@intuit.com", + "Default": null, + "Tag": null + }, + "BillEmailCc": null, + "BillEmailBcc": null, + "ARAccountRef": null, + "Balance": "0", + "HomeBalance": null, + "FinanceCharge": null, + "PaymentMethodRef": null, + "PaymentRefNum": null, + "PaymentType": null, + "CheckPayment": null, + "CreditCardPayment": null, + "DepositToAccountRef": null, + "DeliveryInfo": { + "DeliveryType": "Email", + "DeliveryTime": null, + "DeliveryErrorType": null + }, + "DiscountRate": null, + "DiscountAmt": null, + "GovtTxnRefIdentifier": null, + "TaxExemptionRef": null, + "Deposit": null, + "AllowIPNPayment": "false", + "AllowOnlinePayment": "false", + "AllowOnlineCreditCardPayment": "false", + "AllowOnlineACHPayment": "false", + "AllowOnlinePayPalPayment": null, + "EInvoiceStatus": null, + "ECloudStatusTimeStamp": null, + "CfdiUse": null, + "Exportation": null, + "GlobalInfo": null, + "invoiceStatus": null, + "callToAction": null, + "invoiceStatusLog": null, + "InvoiceEx": null, + "LessCIS": null, + "InvoiceLink": null, + "PaymentDetailsMessage": null, + "ConvenienceFeeDetail": null, + "InvoiceLinkSecurityCode": null, + "InvoiceLinkExpiryDate": null, + "AutoPayEligible": null, + "SchedulePayEligible": null, + "ScheduledPaymentId": null, + "GratuityEnabled": null, + "FinancingProductType": null, + "SubscriptionPaymentsSetting": null + }, { "Id": "198", "SyncToken": "0", @@ -43159,340 +43956,6 @@ "FinancingProductType": null, "SubscriptionPaymentsSetting": null }, - { - "Id": "39", - "SyncToken": "2", - "MetaData": { - "CreatedByRef": null, - "CreateTime": "2024-05-28T11:16:52-07:00", - "LastModifiedByRef": "9341452606525892", - "LastUpdatedTime": "2024-09-23T21:18:03-07:00", - "LastChangedInQB": null, - "Synchronized": null - }, - "CustomField": null, - "AttachableRef": null, - "domain": null, - "status": null, - "sparse": null, - "DocNumber": "1012", - "TxnDate": "2024-05-16", - "DepartmentRef": null, - "CurrencyRef": "USD", - "ExchangeRate": null, - "PrivateNote": null, - "TxnStatus": null, - "LinkedTxn": null, - "Line": [ - { - "Id": "1", - "LineNum": "1", - "Description": "Sprinkler Heads", - "Amount": "30.00", - "Received": null, - "LinkedTxn": null, - "DetailType": "SalesItemLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": { - "ItemRef": "16", - "ClassRef": null, - "UnitPrice": "2", - "UnitCostPrice": null, - "RatePercent": null, - "PriceLevelRef": null, - "MarkupInfo": null, - "Qty": "15", - "UOMRef": null, - "ItemAccountRef": "79", - "InventorySiteRef": null, - "TaxCodeRef": "NON", - "TaxClassificationRef": null, - "ServiceDate": null, - "TaxInclusiveAmt": null, - "DiscountRate": null, - "DiscountAmt": null, - "DeferredRevenue": null, - "SalesItemLineDetailEx": null - }, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": "2", - "LineNum": "2", - "Description": "Rock Fountain", - "Amount": "275.00", - "Received": null, - "LinkedTxn": null, - "DetailType": "SalesItemLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": { - "ItemRef": "5", - "ClassRef": null, - "UnitPrice": "275", - "UnitCostPrice": null, - "RatePercent": null, - "PriceLevelRef": null, - "MarkupInfo": null, - "Qty": "1", - "UOMRef": null, - "ItemAccountRef": "79", - "InventorySiteRef": null, - "TaxCodeRef": "NON", - "TaxClassificationRef": null, - "ServiceDate": null, - "TaxInclusiveAmt": null, - "DiscountRate": null, - "DiscountAmt": null, - "DeferredRevenue": null, - "SalesItemLineDetailEx": null - }, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": null, - "LineNum": null, - "Description": null, - "Amount": "305.00", - "Received": null, - "LinkedTxn": null, - "DetailType": "SubTotalLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": null, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": "", - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": null, - "LineNum": null, - "Description": null, - "Amount": "30.50", - "Received": null, - "LinkedTxn": null, - "DetailType": "DiscountLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": { - "DiscountRef": null, - "PercentBased": "true", - "DiscountPercent": "10", - "DiscountAccountRef": "86", - "ServiceDate": null, - "ClassRef": null, - "TaxCodeRef": null, - "DiscountLineDetailEx": null - }, - "TaxLineDetail": null, - "SalesItemLineDetail": null, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - } - ], - "TxnTaxDetail": { - "DefaultTaxCodeRef": null, - "TxnTaxCodeRef": null, - "TotalTax": "0", - "TaxReviewStatus": null, - "TaxLine": null, - "UseAutomatedSalesTax": null - }, - "TxnSource": null, - "TaxFormType": null, - "TaxFormNum": null, - "TransactionLocationType": null, - "Tag": null, - "TxnApprovalInfo": null, - "RecurDataRef": null, - "RecurringInfo": null, - "ProjectRef": null, - "TotalCostAmount": null, - "HomeTotalCostAmount": null, - "AutoDocNumber": null, - "CustomerRef": "23", - "CustomerMemo": "Thank you for your business and have a great day!", - "BillAddr": { - "Id": "105", - "Line1": "Shara Barnett", - "Line2": "Barnett Design", - "Line3": "19 Main St.", - "Line4": "Middlefield, CA 94303", - "Line5": null, - "City": null, - "Country": null, - "CountryCode": null, - "County": null, - "CountrySubDivisionCode": null, - "PostalCode": null, - "PostalCodeSuffix": null, - "Lat": null, - "Long": null, - "Tag": null, - "Note": null - }, - "ShipAddr": { - "Id": "24", - "Line1": "19 Main St.", - "Line2": null, - "Line3": null, - "Line4": null, - "Line5": null, - "City": "Middlefield", - "Country": null, - "CountryCode": null, - "County": null, - "CountrySubDivisionCode": "CA", - "PostalCode": "94303", - "PostalCodeSuffix": null, - "Lat": "37.445013", - "Long": "-122.1391443", - "Tag": null, - "Note": null - }, - "FreeFormAddress": "true", - "ShipFromAddr": null, - "RemitToRef": null, - "ClassRef": null, - "SalesTermRef": "3", - "DueDate": "2024-06-29", - "SalesRepRef": null, - "PONumber": null, - "FOB": null, - "ShipMethodRef": null, - "ShipDate": null, - "TrackingNum": null, - "GlobalTaxCalculation": null, - "TotalAmt": "274.50", - "HomeTotalAmt": null, - "ApplyTaxAfterDiscount": "false", - "ShippingTaxIncludedInTotalTax": null, - "TemplateRef": null, - "PrintStatus": "NeedToPrint", - "EmailStatus": "NeedToSend", - "BillEmail": { - "Id": null, - "Address": "Design@intuit.com", - "Default": null, - "Tag": null - }, - "BillEmailCc": null, - "BillEmailBcc": null, - "ARAccountRef": null, - "Balance": "274.50", - "HomeBalance": null, - "FinanceCharge": null, - "PaymentMethodRef": null, - "PaymentRefNum": null, - "PaymentType": null, - "CheckPayment": null, - "CreditCardPayment": null, - "DepositToAccountRef": null, - "DeliveryInfo": { - "DeliveryType": "Email", - "DeliveryTime": null, - "DeliveryErrorType": null - }, - "DiscountRate": null, - "DiscountAmt": null, - "GovtTxnRefIdentifier": null, - "TaxExemptionRef": null, - "Deposit": null, - "AllowIPNPayment": "false", - "AllowOnlinePayment": "false", - "AllowOnlineCreditCardPayment": "false", - "AllowOnlineACHPayment": "false", - "AllowOnlinePayPalPayment": null, - "EInvoiceStatus": null, - "ECloudStatusTimeStamp": null, - "CfdiUse": null, - "Exportation": null, - "GlobalInfo": null, - "invoiceStatus": null, - "callToAction": null, - "invoiceStatusLog": null, - "InvoiceEx": null, - "LessCIS": null, - "InvoiceLink": null, - "PaymentDetailsMessage": null, - "ConvenienceFeeDetail": null, - "InvoiceLinkSecurityCode": null, - "InvoiceLinkExpiryDate": null, - "AutoPayEligible": null, - "SchedulePayEligible": null, - "ScheduledPaymentId": null, - "GratuityEnabled": null, - "FinancingProductType": null, - "SubscriptionPaymentsSetting": null - }, { "Id": "150", "SyncToken": "1", @@ -52594,458 +53057,6 @@ "FinancingProductType": null, "SubscriptionPaymentsSetting": null }, - { - "Id": "49", - "SyncToken": "0", - "MetaData": { - "CreatedByRef": null, - "CreateTime": "2024-05-28T11:43:20-07:00", - "LastModifiedByRef": "9341452606525892", - "LastUpdatedTime": "2024-05-28T11:43:20-07:00", - "LastChangedInQB": null, - "Synchronized": null - }, - "CustomField": null, - "AttachableRef": null, - "domain": null, - "status": null, - "sparse": null, - "DocNumber": "1015", - "TxnDate": "2024-05-28", - "DepartmentRef": null, - "CurrencyRef": "USD", - "ExchangeRate": null, - "PrivateNote": null, - "TxnStatus": null, - "LinkedTxn": { - "TxnId": "48", - "TxnType": "Estimate", - "TxnLineId": null - }, - "Line": [ - { - "Id": "1", - "LineNum": "1", - "Description": "Custom Design", - "Amount": "300.00", - "Received": null, - "LinkedTxn": { - "TxnId": "48", - "TxnType": "Estimate", - "TxnLineId": null - }, - "DetailType": "SalesItemLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": { - "ItemRef": "4", - "ClassRef": null, - "UnitPrice": "75", - "UnitCostPrice": null, - "RatePercent": null, - "PriceLevelRef": null, - "MarkupInfo": null, - "Qty": "4", - "UOMRef": null, - "ItemAccountRef": "82", - "InventorySiteRef": null, - "TaxCodeRef": "NON", - "TaxClassificationRef": null, - "ServiceDate": null, - "TaxInclusiveAmt": null, - "DiscountRate": null, - "DiscountAmt": null, - "DeferredRevenue": null, - "SalesItemLineDetailEx": null - }, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": "2", - "LineNum": "2", - "Description": "Installation of landscape design", - "Amount": "250.00", - "Received": null, - "LinkedTxn": { - "TxnId": "48", - "TxnType": "Estimate", - "TxnLineId": null - }, - "DetailType": "SalesItemLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": { - "ItemRef": "7", - "ClassRef": null, - "UnitPrice": "50", - "UnitCostPrice": null, - "RatePercent": null, - "PriceLevelRef": null, - "MarkupInfo": null, - "Qty": "5", - "UOMRef": null, - "ItemAccountRef": "52", - "InventorySiteRef": null, - "TaxCodeRef": "NON", - "TaxClassificationRef": null, - "ServiceDate": null, - "TaxInclusiveAmt": null, - "DiscountRate": null, - "DiscountAmt": null, - "DeferredRevenue": null, - "SalesItemLineDetailEx": null - }, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": "3", - "LineNum": "3", - "Description": "Rock Fountain", - "Amount": "275.00", - "Received": null, - "LinkedTxn": { - "TxnId": "48", - "TxnType": "Estimate", - "TxnLineId": null - }, - "DetailType": "SalesItemLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": { - "ItemRef": "5", - "ClassRef": null, - "UnitPrice": "275", - "UnitCostPrice": null, - "RatePercent": null, - "PriceLevelRef": null, - "MarkupInfo": null, - "Qty": "1", - "UOMRef": null, - "ItemAccountRef": "48", - "InventorySiteRef": null, - "TaxCodeRef": "NON", - "TaxClassificationRef": null, - "ServiceDate": null, - "TaxInclusiveAmt": null, - "DiscountRate": null, - "DiscountAmt": null, - "DeferredRevenue": null, - "SalesItemLineDetailEx": null - }, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": "4", - "LineNum": "4", - "Description": "Garden Rocks", - "Amount": "180.00", - "Received": null, - "LinkedTxn": { - "TxnId": "48", - "TxnType": "Estimate", - "TxnLineId": null - }, - "DetailType": "SalesItemLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": { - "ItemRef": "13", - "ClassRef": null, - "UnitPrice": "22.5", - "UnitCostPrice": null, - "RatePercent": null, - "PriceLevelRef": null, - "MarkupInfo": null, - "Qty": "8", - "UOMRef": null, - "ItemAccountRef": "48", - "InventorySiteRef": null, - "TaxCodeRef": "NON", - "TaxClassificationRef": null, - "ServiceDate": null, - "TaxInclusiveAmt": null, - "DiscountRate": null, - "DiscountAmt": null, - "DeferredRevenue": null, - "SalesItemLineDetailEx": null - }, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": null, - "LineNum": null, - "Description": null, - "Amount": "1005.00", - "Received": null, - "LinkedTxn": null, - "DetailType": "SubTotalLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": null, - "TaxLineDetail": null, - "SalesItemLineDetail": null, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": "", - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - }, - { - "Id": null, - "LineNum": null, - "Description": null, - "Amount": "50.25", - "Received": null, - "LinkedTxn": null, - "DetailType": "DiscountLineDetail", - "PaymentLineDetail": null, - "DiscountLineDetail": { - "DiscountRef": null, - "PercentBased": "true", - "DiscountPercent": "5", - "DiscountAccountRef": "86", - "ServiceDate": null, - "ClassRef": null, - "TaxCodeRef": null, - "DiscountLineDetailEx": null - }, - "TaxLineDetail": null, - "SalesItemLineDetail": null, - "DescriptionLineDetail": null, - "ItemBasedExpenseLineDetail": null, - "AccountBasedExpenseLineDetail": null, - "ReimburseLineDetail": null, - "DepositLineDetail": null, - "PurchaseOrderItemLineDetail": null, - "SalesOrderItemLineDetail": null, - "ItemReceiptLineDetail": null, - "JournalEntryLineDetail": null, - "GroupLineDetail": null, - "SubTotalLineDetail": null, - "TDSLineDetail": null, - "ItemAdjustmentLineDetail": null, - "CustomField": null, - "LineEx": null, - "ProjectRef": null, - "CostAmount": null, - "HomeCostAmount": null - } - ], - "TxnTaxDetail": { - "DefaultTaxCodeRef": null, - "TxnTaxCodeRef": null, - "TotalTax": "0", - "TaxReviewStatus": null, - "TaxLine": null, - "UseAutomatedSalesTax": null - }, - "TxnSource": null, - "TaxFormType": null, - "TaxFormNum": null, - "TransactionLocationType": null, - "Tag": null, - "TxnApprovalInfo": null, - "RecurDataRef": null, - "RecurringInfo": null, - "ProjectRef": null, - "TotalCostAmount": null, - "HomeTotalCostAmount": null, - "AutoDocNumber": null, - "CustomerRef": "18", - "CustomerMemo": "Thank you for your business and have a great day!", - "BillAddr": { - "Id": "68", - "Line1": "Kathy Paulsen", - "Line2": "Paulsen Medical Supplies", - "Line3": "900 Main St.", - "Line4": "Middlefield, CA 94303", - "Line5": null, - "City": null, - "Country": null, - "CountryCode": null, - "County": null, - "CountrySubDivisionCode": null, - "PostalCode": null, - "PostalCodeSuffix": null, - "Lat": "37.4530553", - "Long": "-122.1178261", - "Tag": null, - "Note": null - }, - "ShipAddr": { - "Id": "19", - "Line1": "38921 S. Boise Ave", - "Line2": null, - "Line3": null, - "Line4": null, - "Line5": null, - "City": "Middlefield", - "Country": null, - "CountryCode": null, - "County": null, - "CountrySubDivisionCode": "CA", - "PostalCode": "94304", - "PostalCodeSuffix": null, - "Lat": "37.3989376", - "Long": "-122.1443935", - "Tag": null, - "Note": null - }, - "FreeFormAddress": "true", - "ShipFromAddr": null, - "RemitToRef": null, - "ClassRef": null, - "SalesTermRef": "3", - "DueDate": "2024-06-27", - "SalesRepRef": null, - "PONumber": null, - "FOB": null, - "ShipMethodRef": null, - "ShipDate": null, - "TrackingNum": null, - "GlobalTaxCalculation": null, - "TotalAmt": "954.75", - "HomeTotalAmt": null, - "ApplyTaxAfterDiscount": "false", - "ShippingTaxIncludedInTotalTax": null, - "TemplateRef": null, - "PrintStatus": "NotSet", - "EmailStatus": "NotSet", - "BillEmail": { - "Id": null, - "Address": "Medical@intuit.com", - "Default": null, - "Tag": null - }, - "BillEmailCc": null, - "BillEmailBcc": null, - "ARAccountRef": null, - "Balance": "954.75", - "HomeBalance": null, - "FinanceCharge": null, - "PaymentMethodRef": null, - "PaymentRefNum": null, - "PaymentType": null, - "CheckPayment": null, - "CreditCardPayment": null, - "DepositToAccountRef": null, - "DeliveryInfo": null, - "DiscountRate": null, - "DiscountAmt": null, - "GovtTxnRefIdentifier": null, - "TaxExemptionRef": null, - "Deposit": null, - "AllowIPNPayment": "false", - "AllowOnlinePayment": "false", - "AllowOnlineCreditCardPayment": "false", - "AllowOnlineACHPayment": "false", - "AllowOnlinePayPalPayment": null, - "EInvoiceStatus": null, - "ECloudStatusTimeStamp": null, - "CfdiUse": null, - "Exportation": null, - "GlobalInfo": null, - "invoiceStatus": null, - "callToAction": null, - "invoiceStatusLog": null, - "InvoiceEx": null, - "LessCIS": null, - "InvoiceLink": null, - "PaymentDetailsMessage": null, - "ConvenienceFeeDetail": null, - "InvoiceLinkSecurityCode": null, - "InvoiceLinkExpiryDate": null, - "AutoPayEligible": null, - "SchedulePayEligible": null, - "ScheduledPaymentId": null, - "GratuityEnabled": null, - "FinancingProductType": null, - "SubscriptionPaymentsSetting": null - }, { "Id": "27", "SyncToken": "1", @@ -53545,5 +53556,94 @@ "FinancingProductType": null, "SubscriptionPaymentsSetting": null } + ], + "payments": [ + { + "invoice_id": "49", + "Id": "200", + "SyncToken": "0", + "MetaData": { + "CreatedByRef": null, + "CreateTime": "2025-02-10T19:58:23-08:00", + "LastModifiedByRef": null, + "LastUpdatedTime": "2025-02-10T19:58:23-08:00", + "LastChangedInQB": null, + "Synchronized": null + }, + "CustomField": null, + "AttachableRef": null, + "domain": null, + "status": null, + "sparse": null, + "DocNumber": null, + "TxnDate": "2025-02-11", + "DepartmentRef": null, + "CurrencyRef": "USD", + "ExchangeRate": null, + "PrivateNote": null, + "TxnStatus": null, + "LinkedTxn": null, + "Line": { + "Id": null, + "LineNum": null, + "Description": null, + "Amount": "954.75", + "Received": null, + "LinkedTxn": { + "TxnId": "49", + "TxnType": "Invoice", + "TxnLineId": null + }, + "DetailType": null, + "PaymentLineDetail": null, + "DiscountLineDetail": null, + "TaxLineDetail": null, + "SalesItemLineDetail": null, + "DescriptionLineDetail": null, + "ItemBasedExpenseLineDetail": null, + "AccountBasedExpenseLineDetail": null, + "ReimburseLineDetail": null, + "DepositLineDetail": null, + "PurchaseOrderItemLineDetail": null, + "SalesOrderItemLineDetail": null, + "ItemReceiptLineDetail": null, + "JournalEntryLineDetail": null, + "GroupLineDetail": null, + "SubTotalLineDetail": null, + "TDSLineDetail": null, + "ItemAdjustmentLineDetail": null, + "CustomField": null, + "LineEx": [], + "ProjectRef": null, + "CostAmount": null, + "HomeCostAmount": null + }, + "TxnTaxDetail": null, + "TxnSource": null, + "TaxFormType": null, + "TaxFormNum": null, + "TransactionLocationType": null, + "Tag": null, + "TxnApprovalInfo": null, + "RecurDataRef": null, + "RecurringInfo": null, + "ProjectRef": null, + "TotalCostAmount": null, + "HomeTotalCostAmount": null, + "CustomerRef": "18", + "RemitToRef": null, + "ARAccountRef": null, + "DepositToAccountRef": "4", + "PaymentMethodRef": null, + "PaymentRefNum": null, + "PaymentType": null, + "CheckPayment": null, + "CreditCardPayment": null, + "TotalAmt": "954.75", + "UnappliedAmt": "0", + "ProcessPayment": "false", + "PaymentExtendedType": null, + "PaymentEx": null + } ] } \ No newline at end of file