You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

333 lines
9.1 KiB
C#

namespace DS.WMS.Core.Invoice.Dtos
{
/// <summary>
/// 开票请求
/// </summary>
public class InvoiceIssuanceRequest
{
/// <summary>
/// 唯一标识由企业自己生成32位随机码【消息体】
/// </summary>
public string senid { get; set; } = Guid.NewGuid().ToString("N");
/// <summary>
/// 忽略商品和服务税收分类合并编码提醒
/// </summary>
public bool IgnoreSphfwssflhbbm { get; set; }
/// <summary>
/// 请求体
/// </summary>
public List<InvoiceInfo> order { get; set; }
}
/// <summary>
/// 发票
/// </summary>
public class InvoiceInfo
{
/// <summary>
/// 1蓝票;2红票
/// </summary>
public string invoiceType { get; set; } = "1";
/// <summary>
/// 订单号(每个企业唯一)
/// </summary>
public string orderNo { get; set; }
/// <summary>
/// 用于接受发票附件的邮箱
/// </summary>
public string? email { get; set; }
/// <summary>
/// 销售方开户行
/// </summary>
public string xsfkhh { get; set; }
/// <summary>
/// 销售方账号
/// </summary>
public string xsfzh { get; set; }
/// <summary>
/// 销方电话
/// </summary>
public string salerTel { get; set; }
/// <summary>
/// 销方地址
/// </summary>
public string salerAddress { get; set; }
/// <summary>
/// 购方税号
/// </summary>
public string buyerTaxNum { get; set; }
/// <summary>
/// 购方名称
/// </summary>
public string buyerName { get; set; }
/// <summary>
/// 购方地址
/// </summary>
public string? buyerAddress { get; set; }
/// <summary>
/// 购方电话
/// </summary>
public string? buyerTel { get; set; }
/// <summary>
/// 购买方开户行
/// </summary>
public string? gmfkhh { get; set; }
/// <summary>
/// 购买方账号
/// </summary>
public string? gmfzh { get; set; }
/// <summary>
/// 购买方经办人姓名
/// </summary>
public string? buyerManagerName { get; set; }
/// <summary>
/// 经办人证件号码
/// </summary>
public string? jbrsfzjhm { get; set; }
/// <summary>
/// 购买方经办人联系电话
/// </summary>
public string gmfjbrlxdh { get; set; }
/// <summary>
/// 收款银行名称
/// </summary>
public string? skyhmc { get; set; }
/// <summary>
/// 收款银行账号
/// </summary>
public string? skyhzh { get; set; }
/// <summary>
/// 复核人
/// </summary>
public string checker { get; set; }
/// <summary>
/// 收款人
/// </summary>
public string payee { get; set; }
/// <summary>
/// 合计金额
/// </summary>
public decimal hjje { get; set; }
/// <summary>
/// 合计税额
/// </summary>
public decimal hjse { get; set; }
/// <summary>
/// 金税合计
/// </summary>
public decimal jshj { get; set; }
/// <summary>
/// 开票员
/// </summary>
public string clerk { get; set; }
/// <summary>
/// 开票人证件号码
/// </summary>
public string kprzjhm { get; set; }
/// <summary>
/// 开票人证件类型
/// </summary>
public string kprzjlx { get; set; }
/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }
/// <summary>
/// 发票种类 bs:电子发票(增值税专用发票)-即数电专票(电子), pc:电子发票(普通发票)-即数电普票(电子)
/// </summary>
public string invoiceLine { get; set; } = "bs";
/// <summary>
/// 购买方自然人标志
/// </summary>
public string gmfzrrbz { get; set; } = "Y";
/// <summary>
/// 特定要素
/// </summary>
public string tdys { get; set; }
/// <summary>
/// 差额征税类型代码
/// </summary>
public string cezslxDm { get; set; }
/// <summary>
/// 收购发票类型代码
/// </summary>
public string sgfplxDm { get; set; }
/// <summary>
/// 出口业务适用政策代码
/// </summary>
public string ckywsyzcDm { get; set; }
/// <summary>
/// 增值税即征即退代码
/// </summary>
public string zzsjzjtDm { get; set; }
/// <summary>
/// 结算方式
/// </summary>
/// <remarks></remarks>
public string jsfs { get; set; } = "01";
/// <summary>
/// 应税发生地
/// </summary>
public string ysxwfsd { get; set; }
/// <summary>
/// 是否展示销售方银行账号标签
/// </summary>
public string sfzsxsfyhzhbq { get; set; }
/// <summary>
/// 是否展示购买方银行账号标签
/// </summary>
public string sfzsgmfyhzhbq { get; set; }
/// <summary>
/// 发票明细
/// </summary>
public List<InvoiceDetailInfo> invoiceDetail { get; set; }
/// <summary>
/// 附件要素
/// </summary>
public List<Fjys>? fjysList { get; set; }
/// <summary>
/// 差额扣除
/// </summary>
public List<Cekc>? cekcList { get; set; }
}
/// <summary>
/// 发票明细
/// </summary>
public class InvoiceDetailInfo
{
/// <summary>
/// 明细序号
/// </summary>
public int mxxh { get; set; }
/// <summary>
/// 项目名称
/// </summary>
public string xmmc { get; set; }
/// <summary>
/// 商品服务简称
/// </summary>
public string spfwjc { get; set; }
/// <summary>
/// 规格号型
/// </summary>
public string specType { get; set; }
/// <summary>
/// 发票行性质
/// </summary>
public string invoiceLineProperty { get; set; } = "00";
/// <summary>
/// 数量
/// </summary>
public string num { get; set; }
/// <summary>
/// 单价
/// </summary>
public string price { get; set; }
/// <summary>
/// 税额
/// </summary>
public decimal? tax { get; set; }
/// <summary>
/// 含税金额
/// </summary>
public decimal? taxIncludedAmount { get; set; }
/// <summary>
/// 金额
/// </summary>
public decimal? taxExcludedAmount { get; set; }
/// <summary>
/// 增值税税率/征收率
/// </summary>
public string taxRate { get; set; }
/// <summary>
/// 单位
/// </summary>
public string unit { get; set; }
/// <summary>
/// 扣除额
/// </summary>
public string deduction { get; set; }
/// <summary>
/// 商品和服务税收分类合并编码
/// </summary>
public string goodsCode { get; set; }
/// <summary>
/// 优惠政策表示
/// </summary>
public string favouredPolicyFlag { get; set; }
}
/// <summary>
/// 附加要素
/// </summary>
public class Fjys
{
/// <summary>
/// 附加要素名称
/// </summary>
public string fjysmc { get; set; }
/// <summary>
/// 附加要素类型
/// </summary>
public string fjyslx { get; set; }
/// <summary>
/// 附加要素值
/// </summary>
public string fjysz { get; set; }
}
/// <summary>
/// 业务信息
/// </summary>
public class Cekc
{
/// <summary>
/// 序号
/// </summary>
public int xh { get; set; }
/// <summary>
/// 凭证类型
/// </summary>
public string pzlx { get; set; }
/// <summary>
/// 发票代码
/// </summary>
public string fpdm { get; set; }
/// <summary>
/// 发票号码
/// </summary>
public string fphm { get; set; }
/// <summary>
/// 差额凭证号码
/// </summary>
public string cepzhm { get; set; }
/// <summary>
/// 开具日期
/// </summary>
public string kjrq { get; set; }
/// <summary>
/// 凭证合计金额
/// </summary>
public decimal pzhjje { get; set; }
/// <summary>
/// 本次扣除金额
/// </summary>
public decimal bckcje { get; set; }
/// <summary>
/// 备注
/// </summary>
public string bz { get; set; }
}
}