You can use the Snapshot Mode during the sync process: entities that exist in YayPay (i.e. were synced earlier) but are missing in the current CSV file can be marked as either PAID or DELETED and deleted from YayPay.
In the CSV Connector settings, select the option "Enable Snapshot Mode". Choose to mark the missed entities (documents) as Paid or Deleted.
Note, that the CSV Connector will populate the option "Enable Snapshot Mode" for the whole ZIP archive. It means the option applies to each CSV file inside the ZIP archive.
Managing Missing Customers and Contacts (Mark as Deleted)
This section describes how YayPay handles entities missing from the following CSV files when you check Enable Snapshot Mode and select Mark Missed Entities as "Deleted":
customer.csv
Previously synced customers who are absent in the current CSV file are deleted from YayPay. The documents (invoices, payments, credit memos, adjustments) of the given customers are also deleted.
contacts.csv
Previously synced customer contacts that are absent in the current CSV file are deleted from YayPay.
Managing Missing Customers and Contacts (Mark as Paid)
This section describes how YayPay handles entities missing from the following CSV files when you check Enable Snapshot Mode and select Mark Missed Entities as "Paid":
customer.csv
Previously synced customers who are absent in the current CSV file remain active in YayPay. Their balance is automatically set to 0, and all their documents (invoices, payments, credit memos, adjustments) are marked as paid.
contacts.csv
Previously synced customer contacts that are absent in the current CSV file are retained in YayPay for future use.
Managing Missing Invoices (Mark as Deleted)
invoice.csv
With the "Enable Snapshot Mode" option checked (option: "Mark as Deleted"), during the sync process, all the invoices (that were synced previously in YayPay, but are absent in the CSV file during the current sync process ) will be marked as Deleted in YayPay.
If the Invoice was previously marked as Paid in YayPay, it will be marked as Deleted. Also, in this case, the CSV Connector marks the invoice items and transaction allocations as Deleted.
invoice.csv + transactionFull.csv
In case you upload both invoice.csv and transactionFull.csv files in the archive, the Connector will analyze the transactionFull.csv file (because it includes the "invoiceId" field, and is the main towards to the invoice.csv).
Also, if the invoice is missing in the Invoice.csv or transactionFull.csv during the current sync, but it exists in YayPay, and the invoiceLines.csv file includes items for that missed invoice, the Connector marks both the invoice itself and its items as Deleted.
In YayPay's DataBase:
- the Invoice is marked as Deleted in the Invoice table (field is_deleted = 1).
- the Invoice_Item is not marked as Deleted. Only invoices are marked as Deleted.
See the following use cases for greater detail:
Pre-condition: In YayPay, the customer has an invoice, invoice item, and allocated transaction | ||||||
TRUE - invoice is in the CSV file | ||||||
FALSE - invoice is absent in the CSV file | ||||||
Mark as Deleted | Case | Expected Result in YayPay | ||||
invoice.csv | invoiceLines.csv | transactionAllocation.csv | invoice | invoiceLines | transactionAllocation | |
FALSE | FALSE | FALSE | deleted | deleted | deleted | |
FALSE | FALSE | TRUE | deleted | deleted | not deleted | |
FALSE | TRUE | FALSE | deleted | deleted | deleted | |
FALSE | TRUE | TRUE | deleted | deleted | not deleted | |
TRUE | FALSE | FALSE | not deleted | deleted | deleted | |
TRUE | FALSE | TRUE | not deleted | deleted | not deleted | |
TRUE | TRUE | FALSE | not deleted | not deleted | deleted | |
TRUE | TRUE | TRUE | not deleted | not deleted | not deleted |
Managing Missing Invoices (Mark as Paid)
invoice.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Paid"), during the sync process, all the invoices (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Paid in YayPay.
If the Invoice was previously marked as Deleted in YayPay, the Connector will not restore its items and transaction allocations.
invoice.csv + transactionFull.csv
In case you upload both invoice.csv and transactionFull.csv files in the archive, the Connector will analyze the transactionFull.csv file (because it includes the "invoiceId" field, and is the main towards to the invoice.csv).
Also, if the invoice is missing in the Invoice.csv or transactionFull.csv during the current sync, but it exists in YayPay, and the invoiceLines.csv file includes items for that missed invoice, the Connector marks the invoice items as Paid (because the invoice itself is marked as Paid).
In YayPay's DataBase:
- the Invoice is marked as Paid in the Invoice table (field paid_status = 1).
- the Invoice_Item is not marked as Paid, because the tables Invoice_item and Invoice_item_details don’t include separate fields to mark the invoice_item status.
See the following use cases for greater detail:
Pre-condition: In YayPay, the customer has an invoice, invoice item, and allocated transaction. Documents are not deleted | ||||||
TRUE - invoice is in the CSV file | ||||||
FALSE - invoice is absent in the CSV file | ||||||
Mark as Paid | Case | Expected Result in YayPay | ||||
invoice.csv | invoiceLines.csv | transactionAllocation.csv | invoice | invoiceLines | transactionAllocation | |
FALSE | FALSE | FALSE | deleted | deleted | deleted | |
FALSE | FALSE | TRUE | deleted | deleted | not deleted | |
FALSE | TRUE | FALSE | deleted | deleted | deleted | |
FALSE | TRUE | TRUE | deleted | deleted | not deleted | |
TRUE | FALSE | FALSE | not deleted | deleted | deleted | |
TRUE | FALSE | TRUE | not deleted | deleted | not deleted | |
TRUE | TRUE | FALSE | not deleted | not deleted | deleted | |
TRUE | TRUE | TRUE | not deleted | not deleted | not deleted |
Managing Missing Payments (Mark as Deleted)
transaction.csv / transactionFull.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Deleted"), during the sync process, all the payments (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Deleted in YayPay.
If the payment was previously marked as Paid in YayPay, the Connector marks it as Deleted. In particular cases, the Connector marks transaction allocations as Deleted (see the table below).
The connector analyzes missing payments from both transaction.csv AND transactionFull.csv files (depending on which of them is uploaded within the CSV archive).
In YayPay's DataBase:
- Payments are marked as Deleted in the Payment table (field is_deleted = 1).
- Payment allocations are marked as Deleted in the Payment_invoice table (field is_deleted =1).
See the following use cases for greater detail:
SNAPSHOT MODE | Pre-condition: In YayPay, the customer has a payment and allocated transactions (invoices) | ||||
TRUE - payment is in the CSV file | |||||
FALSE - payment is absent in the CSV file | |||||
Mark as Deleted (on the CSV Connector Settings page) | Case | Expected Result in YayPay | |||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | payment | transactionAllocation | ||
FALSE | FALSE | deleted | not deleted | ||
FALSE | TRUE | deleted | not deleted | ||
TRUE | FALSE | not deleted | deleted completely in the Database | ||
TRUE | TRUE | not deleted | not deleted |
WITHOUT SNAPSHOT MODE | Pre-condition: In YayPay, the customer has a payment and allocated transactions (invoices) | ||||
TRUE - is_deleted = 0 | |||||
FALSE - is_deleted = 1 | |||||
Mark as Deleted (in file is_deleted = 1) | Case | Expected Result in YayPay | |||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | payment | transactionAllocation | ||
FALSE | FALSE | deleted | not deleted | ||
FALSE | TRUE | deleted | not deleted | ||
TRUE | FALSE | not deleted | deleted completely in the Database | ||
TRUE | TRUE | not deleted | not deleted |
Managing Missing Payments (Mark as Paid)
transaction.csv / transactionFull.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Deleted"), during the sync process, all the payments (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Paid in YayPay.
If the payment was previously marked as Deleted in YayPay, the Connector will not restore deleted payments and transaction allocations.
The connector analyzes missing payments from both transaction.csv AND transactionFull.csv files (depending on which of them is uploaded within the CSV archive).
In YayPay's DataBase:
- the payment is marked as Paid in the Payment table. The "paid" status means that the amount equals the applied amount.
Irrespective of the case when the Connector marks the payment as Paid, the Connector will not mark transaction allocations. Whether the allocation was paid or not is determined through the invoice.csv or transactionFull.csv file.
See the following use cases for greater detail:
Pre-condition: In YayPay, the customer has a payment and allocated transactions (invoices) | ||||
TRUE - payment is in the CSV file | ||||
FALSE - payment is absent in the CSV file | ||||
Mark as Paid | Case | Expected Result in YayPay | ||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | payment | transactionAllocation | |
FALSE | FALSE | paid | the location remains in the DataBase | |
FALSE | TRUE | paid | the location remains in the DataBase | |
TRUE | FALSE | not paid | the location is completely removed from the DataBase | |
TRUE | TRUE | not paid | the location is deleted from the DataBase and overwritten in the DataBase as the new one |
Managing Missing Credit Memos (Mark as Deleted)
transaction.csv / transactionFull.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Deleted"), during the sync process, all the credit memos (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Deleted in YayPay.
If the credit memo was previously marked as Paid in YayPay, the Connector marks it as Deleted. Also, in this case, the Connector marks transaction allocations as Deleted (see the table below).
To detect missing credit memos, the Connector analyzes both transaction.csv AND transactionFull.csv files (depending on which of them is uploaded within the CSV archive).
In YayPay's DataBase:
- Credit Memos are marked as Deleted in the Payment table(field is_deleted = 1).
- Credit Memo allocations are marked as Deleted in the Payment_invoice table (field is_deleted = 1).
See the following use cases for greater detail:
SNAPSHOT MODE | Pre-condition: In YayPay, the customer has a credit memo and allocated transactions (invoices) | ||||
TRUE - credit memo is in the CSV file | |||||
FALSE - credit memo is absent in the CSV file | |||||
Mark as Deleted (on the CSV Connector Settings page) | Case | Expected Result in YayPay | |||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | credit memo | transactionAllocation | ||
FALSE | FALSE | deleted | deleted | ||
FALSE | TRUE | deleted | deleted | ||
TRUE | FALSE | not deleted | not deleted | ||
TRUE | TRUE | not deleted | not deleted |
WITHOUT SNAPSHOT MODE | Pre-condition: In YayPay, the customer has a credit memo and allocated transactions (invoices) | ||||
TRUE - is_deleted = 0 | |||||
FALSE - is_deleted = 1 | |||||
Mark as Deleted (in file is_deleted = 1) | Case | Expected Result in YayPay | |||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | credit memo | transactionAllocation | ||
FALSE | FALSE | deleted | deleted | ||
FALSE | TRUE | deleted | deleted | ||
TRUE | FALSE | not deleted | not deleted | ||
TRUE | TRUE | not deleted | not deleted |
Managing Missing Credit Memos (Mark as Paid)
transaction.csv / transactionFull.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Deleted"), during the sync process, all the credit memos (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Paid in YayPay.
If the Credit Memo was previously marked as Deleted in YayPay, the Connector will not restore deleted Credit Memos and transaction allocations.
To detect missing credit memos, the Connector analyzes both transaction.csv AND transactionFull.csv files (depending on which of them is uploaded within the CSV archive).
In YayPay'sDataBase:
- Credit Memo is marked as Paid in the Payment table. The "paid" status means that the amount equals the applied amount.
Irrespective of the case when the Connector marks the credit memo as Paid, the Connector will not mark transaction allocations as Paid. Whether the allocation was paid or not is determined through invoice.csv or transactionFull.csv file.
See the following use cases for greater detail:
Pre-condition: In YayPay, the customer has a credit memo and allocated transactions (invoices) | ||||
TRUE - credit memo is in the CSV file | ||||
FALSE - credit memo is absent in the CSV file | ||||
Mark as Paid | Case | Expected Result in YayPay | ||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | credit memo | transactionAllocation | |
FALSE | FALSE | paid | the location remains in the DataBase | |
FALSE | TRUE | paid | the location remains in the DataBase | |
TRUE | FALSE | not paid | the location remains in the DataBase | |
TRUE | TRUE | not paid | the location remains in the DataBase |
Managing Missing Adjustments (Mark as Deleted)
transaction.csv/transactionFull.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Deleted"), during the sync process, all the adjustments (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Deleted in YayPay.
If the Adjustment was previously marked as Paid in YayPay, the Connector marks it as Deleted. Also, in this case, the Connector marks transaction allocations as Deleted (see the table below).
To detect missing adjustments, the Connector analyzes both transaction.csv AND transactionFull.csv files (depending on which of them is uploaded within the CSV archive).
In YayPay's DataBase:
- Adjustments are marked as Deleted in the Adjustment table (field is_deleted = 1).
- Adjustment allocations are marked as Deleted in the Adjustment_invoice, Adjustment_payment tables(field is_deleted = 1).
See the following use cases for greater detail:
SNAPSHOT MODE | Pre-condition: In YayPay, the customer has an adjustment and allocated transactions (invoices) | ||||
TRUE - adjustment is in the CSV file | |||||
FALSE - adjustment is absent in the CSV file | |||||
Mark as Deleted (on the CSV Connector Settings page) | Case | Expected Result in YayPay | |||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | adjustment | transactionAllocation | ||
FALSE | FALSE | deleted | not deleted | ||
FALSE | TRUE | deleted | not deleted | ||
TRUE | FALSE | not deleted | not deleted | ||
TRUE | TRUE | not deleted | not deleted |
WITHOUT SNAPSHOT MODE | Pre-condition: In YayPay, the customer has an adjustment and allocated transactions (invoices) | ||||
TRUE - is_deleted = 0 | |||||
FALSE - is_deleted = 1 | |||||
Mark as Deleted (in file is_deleted = 1) | Case | Expected Result in YayPay | |||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | adjustment | transactionAllocation | ||
FALSE | FALSE | deleted | not deleted | ||
FALSE | TRUE | deleted | not deleted | ||
TRUE | FALSE | not deleted | not deleted | ||
TRUE | TRUE | not deleted | not deleted |
Managing Missing Adjustments (Mark as Paid)
transaction.csv / transactionFull.csv
With the "Enable Snapshot Mode" option checked (option "Mark as Deleted"), during the sync process, all the adjustments (that were synced previously in YayPay, but are absent in CSV file during the current sync process ) will be marked as Paid in YayPay.
If the Adjustment was previously marked as Deleted in YayPay, the Connector will not restore deleted adjustments and transaction allocations.
To detect missing adjustments, the Connector analyzes both transaction.csv AND transactionFull.csv files (depending on which of them is uploaded within the CSV archive).
In YayPay's DataBase:
- Adjustment is marked as Paid in the Adjustment table. The "paid" status means that the amount equals the applied amount.
Irrespective of the case when the Connector marks the Adjustments as Paid, the Connector will not mark transaction allocations as Paid. Whether the allocation was Paid or not is determined through the transaction.csv or transactionFull.csv files.
Pre-condition: In YayPay, the customer has an adjustment and allocated transactions (invoices) | ||||
TRUE - adjustment is in the CSV file | ||||
FALSE - adjustment is absent in the CSV file | ||||
Mark as Paid | Case | Expected Result in YayPay | ||
transaction.csv OR transactionFull.csv |
transactionAllocation.csv | adjustment | transactionAllocation | |
FALSE | FALSE | paid | the allocation remains in the DataBase and API doesn't change the location state | |
FALSE | TRUE | paid | the allocation remains in the DataBase and API doesn't change the location state | |
TRUE | FALSE | not paid | the allocation remains in the DataBase and API doesn't change the location state | |
TRUE | TRUE | not paid | the allocation remains in the DataBase and API doesn't change the location state |