國內供應商管理_C#串接工商登記API_補齊登記資本額X實收資本額X營業登記現況資訊
https://data.gcis.nat.gov.tw/main/index
工商登記平台主要是針對國內廠商,有統一編號的才能撈取的到。
此外資本額又細分兩種欄位,分別是
資本總額(也就是登記資本額),跟實收資本額(又稱發行資本)。
登記資本額是公司在成立時,向主管機關(如經濟部)登記的資本數額,代表公司允許發行的最大股本。這是公司可以籌集的資金上限,但不一定實際投入。
實收資本= 股本 + 資本公積(額外實收資本) = 已發行股份總數 x 每股金額
實收資本額是公司實際已經收取的資本,代表股東實際投入的金額。這是公司目前可用的資本,用於經營或投資,並會反映在公司的財務報表中。
換言之,要有上市上櫃的廠商才會有實收資本額欄位。
https://data.gcis.nat.gov.tw/od/rule
在此以新竹市工廠廠商名冊的Open data來做演示。
https://data.gov.tw/dataset/67538
工商登記平台提供的API介接十分豐富
可搭配商工登記公示資料查詢服務平台做確認。
公司登記_公司狀態代碼對照表
其實不只01,另外不同Company_Status狀態碼Mapping可參照這份excel。
這邊將excel重新更名為新竹市工廠廠商名冊.xlsx
多擴充三個欄位到F,G,H
C#主控台專案
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { public class BusinessInfo { public string Business_Accounting_NO { get; set; } public string Company_Name { get; set; } public string Company_Status { get; set; } public string Company_Status_Desc { get; set; } public long? Capital_Stock_Amount { get; set; } public long? Paid_In_Capital_Amount { get; set; } public string Responsible_Name { get; set; } public string Register_Organization { get; set; } public string Register_Organization_Desc { get; set; } public string Company_Location { get; set; } public string Company_Setup_Date { get; set; } public string Change_Of_Approval_Data { get; set; } } }
安裝好相關nuget套件
Program.cs
using RestSharp; using RestSharp.Extensions; using RestSharp.Authenticators; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json.Linq; using System.Net; using Newtonsoft.Json; using System.IO; using OfficeOpenXml; namespace ConsoleApp1 { class Program { static void Main() { // 設定 Excel 檔案的路徑 string filePath = @"C:\excel_data\新竹市工廠廠商名冊.xlsx"; // 修改為您的檔案路徑 // 讀取 Excel 檔案 FileInfo fileInfo = new FileInfo(filePath); ExcelPackage.LicenseContext = LicenseContext.NonCommercial; using (ExcelPackage package = new ExcelPackage(fileInfo)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; // 取得第一個工作表 int row = 2; // 從第二行開始(第一行是表頭) while (worksheet.Cells[row, 2].Value != null) // B欄不為空 { string valueB = worksheet.Cells[row, 2].Text; // 讀取 B 欄的值 string keyword = valueB; using (WebClient client = new WebClient()) { //string keyword = "台灣積體電路製造股份有限公司"; string _ul = "http://data.gcis.nat.gov.tw/od/data/api/6BBA2268-1367-4B42-9CCA-BC17499EBE8C?$format=json&$filter=Company_Name%20like%20" + keyword + "%20and%20Company_Status%20eq%2001&$skip=0&$top=50"; string jsonStr = Encoding.UTF8.GetString(client.DownloadData(new Uri(_ul.Trim()))); List<BusinessInfo> businessInfoList = JsonConvert.DeserializeObject<List<BusinessInfo>>(jsonStr); if(string.IsNullOrWhiteSpace(jsonStr) || businessInfoList == null) { row++; Console.WriteLine($"廠商{keyword},工商登記無資料跳過"); continue; } if (businessInfoList != null && businessInfoList.Count > 0) { worksheet.Cells[row, 6].Value = businessInfoList[0].Capital_Stock_Amount; worksheet.Cells[row, 7].Value = businessInfoList[0].Paid_In_Capital_Amount; worksheet.Cells[row, 8].Value = businessInfoList[0].Company_Status; } Console.WriteLine($"公司名稱: {businessInfoList[0].Company_Name}/統一編號:{businessInfoList[0].Business_Accounting_NO},已完成資本額及營業現況維護"); //foreach (var business in businessInfoList) //{ // Console.WriteLine($"統一編號: {business.Business_Accounting_NO}"); // Console.WriteLine($"公司名稱: {business.Company_Name}"); // Console.WriteLine($"公司狀態: {business.Company_Status} - {business.Company_Status_Desc}"); // Console.WriteLine($"資本額: {business.Capital_Stock_Amount}"); // Console.WriteLine($"實收資本額: {business.Paid_In_Capital_Amount}"); // Console.WriteLine($"負責人: {business.Responsible_Name}"); // Console.WriteLine($"登記機關: {business.Register_Organization_Desc}"); // Console.WriteLine($"公司地址: {business.Company_Location}"); // Console.WriteLine($"公司設立日期: {business.Company_Setup_Date}"); // Console.WriteLine($"變更核准日期: {business.Change_Of_Approval_Data}"); // Console.WriteLine(); //} } row++; } // 儲存更改 package.Save(); } Console.WriteLine($"已完成供應商批次資本額及營業現況維護"); Console.ReadKey(); } } }
運行效果就可以放著讓其自動跑批次,悠閒去泡杯咖啡上洗手間休息等他跑10~20分鐘
視資料多寡。
Ref:
https://relianz.tw/blog/capital/
https://rich01.com/what-is-capital-definition/
https://findbiz.nat.gov.tw/fts/query/QueryBar/queryInit.do
留言
張貼留言