added erp integration

This commit is contained in:
2025-09-24 23:27:23 +02:00
parent 7b9e89eeff
commit 2bb5dbd8fa
18 changed files with 1038 additions and 22 deletions

View File

@@ -0,0 +1,27 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JournalEntryAccountDto {
private String doctype;
private String account;
@JsonProperty("debit_in_account_currency")
private BigDecimal debitInAccountCurrency;
@JsonProperty("credit_in_account_currency")
private BigDecimal creditInAccountCurrency;
@JsonProperty("cost_center")
private String costCenter;
@JsonProperty("party_type")
private String partyType;
private String party;
}

View File

@@ -0,0 +1,22 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JournalEntryDto {
private String doctype;
private String company;
@JsonProperty("posting_date")
private String postingDate;
private int docstatus;
private List<JournalEntryAccountDto> accounts;
}

View File

@@ -0,0 +1,40 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PaymentEntryDto {
private String doctype;
private String company;
@JsonProperty("payment_type")
private String paymentType;
@JsonProperty("party_type")
private String partyType;
private String party;
@JsonProperty("paid_from")
private String paidFrom;
@JsonProperty("paid_to")
private String paidTo;
@JsonProperty("paid_amount")
private BigDecimal paidAmount;
@JsonProperty("received_amount")
private BigDecimal receivedAmount;
@JsonProperty("posting_date")
private String postingDate;
@JsonProperty("reference_no")
private String referenceNo;
@JsonProperty("reference_date")
private String referenceDate;
private List<PaymentReferenceDto> references;
private int docstatus;
}

View File

@@ -0,0 +1,22 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PaymentReferenceDto {
@JsonProperty("reference_doctype")
private String referenceDoctype;
@JsonProperty("reference_name")
private String referenceName;
@JsonProperty("allocated_amount")
private BigDecimal allocatedAmount;
}

View File

@@ -0,0 +1,39 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PurchaseInvoiceDto {
private String doctype;
private String supplier;
@JsonProperty("posting_date")
private String postingDate;
@JsonProperty("due_date")
private String dueDate;
private String company;
@JsonProperty("is_return")
private int isReturn;
private String currency;
@JsonProperty("conversion_rate")
private int conversionRate;
@JsonProperty("net_total")
private BigDecimal netTotal;
@JsonProperty("grand_total")
private BigDecimal grandTotal;
@JsonProperty("is_paid")
private int isPaid;
private int docstatus;
private List<PurchaseInvoiceItemDto> items;
private List<PurchaseTaxDto> taxes;
}

View File

@@ -0,0 +1,26 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PurchaseInvoiceItemDto {
private String doctype;
@JsonProperty("item_code")
private String itemCode;
@JsonProperty("item_name")
private String itemName;
private BigDecimal qty;
private int rate;
private BigDecimal amount;
private String uom;
}

View File

@@ -0,0 +1,29 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PurchaseTaxDto {
private String doctype;
@JsonProperty("charge_type")
private String chargeType;
@JsonProperty("account_head")
private String accountHead;
private BigDecimal rate;
@JsonProperty("cost_center")
private String costCenter;
@JsonProperty("tax_amount")
private BigDecimal taxAmount;
private BigDecimal total;
private String description;
}

View File

@@ -0,0 +1,25 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalesInvoiceDto {
private String doctype;
private String customer;
@JsonProperty("posting_date")
private String postingDate;
@JsonProperty("due_date")
private String dueDate;
private String company;
private int docstatus;
private List<SalesInvoiceItemDto> items;
}

View File

@@ -0,0 +1,21 @@
package zw.qantra.tm.domain.dtos.erp;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalesInvoiceItemDto {
@JsonProperty("item_code")
private String itemCode;
private int qty;
private BigDecimal rate;
private BigDecimal amount;
}